github.com/sagernet/sing@v0.2.6/common/network/direct.go (about)

     1  package network
     2  
     3  import (
     4  	"github.com/sagernet/sing/common/buf"
     5  	M "github.com/sagernet/sing/common/metadata"
     6  )
     7  
     8  type ReadWaiter interface {
     9  	InitializeReadWaiter(newBuffer func() *buf.Buffer)
    10  	WaitReadBuffer() error
    11  }
    12  
    13  type ReadWaitCreator interface {
    14  	CreateReadWaiter() (ReadWaiter, bool)
    15  }
    16  
    17  type PacketReadWaiter interface {
    18  	InitializeReadWaiter(newBuffer func() *buf.Buffer)
    19  	WaitReadPacket() (destination M.Socksaddr, err error)
    20  }
    21  
    22  type PacketReadWaitCreator interface {
    23  	CreateReadWaiter() (PacketReadWaiter, bool)
    24  }