handler.go 824 B

1234567891011121314151617181920212223242526272829303132
  1. package adapter
  2. import (
  3. "context"
  4. "net"
  5. "github.com/sagernet/sing/common/buf"
  6. E "github.com/sagernet/sing/common/exceptions"
  7. N "github.com/sagernet/sing/common/network"
  8. )
  9. type ConnectionHandler interface {
  10. NewConnection(ctx context.Context, conn net.Conn, metadata InboundContext) error
  11. }
  12. type PacketHandler interface {
  13. NewPacket(ctx context.Context, conn N.PacketConn, buffer *buf.Buffer, metadata InboundContext) error
  14. }
  15. type OOBPacketHandler interface {
  16. NewPacket(ctx context.Context, conn N.PacketConn, buffer *buf.Buffer, oob []byte, metadata InboundContext) error
  17. }
  18. type PacketConnectionHandler interface {
  19. NewPacketConnection(ctx context.Context, conn N.PacketConn, metadata InboundContext) error
  20. }
  21. type UpstreamHandlerAdapter interface {
  22. N.TCPConnectionHandler
  23. N.UDPConnectionHandler
  24. E.Handler
  25. }