| 12345678910111213141516171819202122232425262728293031323334353637 |
- // Package vmess contains protocol definition, io lib for VMess.
- package vmess
- import (
- "net"
- )
- // 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
- randHash [256]byte
- respKey [32]byte
- iv [16]byte
- command byte
- port uint16
- target [256]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
- }
|