1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-11-06 18:28:00 -05:00
v2fly/io/vmess/vmess.go
2015-09-07 17:12:31 +02:00

38 lines
861 B
Go

// 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
}