Documentation ¶
Index ¶
- func ReadUDPMsg(conn *net.UDPConn, payload []byte, oob []byte) (int, int, int, *net.UDPAddr, error)
- func RetrieveOriginalDest(oob []byte) v2net.Destination
- func SetOriginalDestOptions(fd int) error
- type Connection
- type ListenOption
- type TimedInboundRay
- type UDPHub
- type UDPPayload
- type UDPPayloadHandler
- type UDPPayloadQueue
- type UDPResponseCallback
- type UDPServer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ReadUDPMsg ¶
func RetrieveOriginalDest ¶
func RetrieveOriginalDest(oob []byte) v2net.Destination
func SetOriginalDestOptions ¶
Types ¶
type Connection ¶
func (*Connection) Reusable ¶
func (v *Connection) Reusable() bool
func (*Connection) SetReusable ¶
func (v *Connection) SetReusable(b bool)
type ListenOption ¶
type ListenOption struct { Callback UDPPayloadHandler ReceiveOriginalDest bool Concurrency int }
type TimedInboundRay ¶
func NewTimedInboundRay ¶
func NewTimedInboundRay(name string, inboundRay ray.InboundRay, server *UDPServer) *TimedInboundRay
func (*TimedInboundRay) InboundInput ¶
func (v *TimedInboundRay) InboundInput() ray.OutputStream
func (*TimedInboundRay) InboundOutput ¶
func (v *TimedInboundRay) InboundOutput() ray.InputStream
func (*TimedInboundRay) Monitor ¶
func (v *TimedInboundRay) Monitor()
func (*TimedInboundRay) Release ¶
func (v *TimedInboundRay) Release()
type UDPHub ¶
func (*UDPHub) Connection ¶
Connection return the net.Conn underneath v hub. Private: Visible for testing only
type UDPPayload ¶
type UDPPayload struct {
// contains filtered or unexported fields
}
type UDPPayloadHandler ¶
type UDPPayloadHandler func(*buf.Buffer, *proxy.SessionInfo)
type UDPPayloadQueue ¶
type UDPPayloadQueue struct {
// contains filtered or unexported fields
}
func NewUDPPayloadQueue ¶
func NewUDPPayloadQueue(option ListenOption) *UDPPayloadQueue
func (*UDPPayloadQueue) Close ¶
func (v *UDPPayloadQueue) Close()
func (*UDPPayloadQueue) Dequeue ¶
func (v *UDPPayloadQueue) Dequeue(queue <-chan UDPPayload)
func (*UDPPayloadQueue) Enqueue ¶
func (v *UDPPayloadQueue) Enqueue(payload UDPPayload)
type UDPResponseCallback ¶
type UDPResponseCallback func(destination v2net.Destination, payload *buf.Buffer)
type UDPServer ¶
func NewUDPServer ¶
func NewUDPServer(packetDispatcher dispatcher.PacketDispatcher) *UDPServer
func (*UDPServer) Dispatch ¶
func (v *UDPServer) Dispatch(session *proxy.SessionInfo, payload *buf.Buffer, callback UDPResponseCallback)
Click to show internal directories.
Click to hide internal directories.