diff --git a/io/vmessreader.go b/io/vmessreader.go index 5a7744c1..957eeae9 100644 --- a/io/vmessreader.go +++ b/io/vmessreader.go @@ -4,7 +4,9 @@ import ( "net" ) -// VMessInput implements the input message of VMess protocol. +// VMessInput implements the input message of VMess protocol. It only contains +// the header of a input message. The data part will be handled by conection +// handler directly, in favor of data streaming. type VMessInput struct { version byte userHash [16]byte @@ -14,19 +16,20 @@ type VMessInput struct { command byte port uint16 target [256]byte - data []byte } type VMessReader struct { conn *net.Conn } +// NewVMessReader creates a new VMessReader func NewVMessReader(conn *net.Conn) (VMessReader, error) { var reader VMessReader reader.conn = conn return reader, nil } +// Read reads data from current connection and form a VMessInput if possible. func (*VMessReader) Read() (VMessInput, error) { var input VMessInput return input, nil