const sizeof_addr4 = 1 + 4 + 2
const sizeof_addr6 = 1 + 2 + 2 + 4 + 16 + 4
const protocol_version = u8(11)
const id_connected_ping = u8(0x00)
const id_unconnected_ping = u8(0x01)
const id_unconnected_ping_open_connections = u8(0x02)
const id_connected_pong = u8(0x03)
const id_detect_lost_connections = u8(0x04)
const id_open_connection_request_1 = u8(0x05)
const id_open_connection_reply_1 = u8(0x06)
const id_open_connection_request_2 = u8(0x07)
const id_open_connection_reply_2 = u8(0x08)
const id_connection_request = u8(0x09)
const id_connection_request_accepted = u8(0x10)
const id_new_incoming_connection = u8(0x13)
const id_disconnect_notification = u8(0x15)
const id_incompatible_protocol_version = u8(0x19)
const id_unconnected_pong = u8(0x1c)
const unconnected_message_sequence = [
u8(0x00),
0xff,
0xff,
0x00,
0xfe,
0xfe,
0xfe,
0xfe,
0xfd,
0xfd,
0xfd,
0xfd,
0x12,
0x34,
0x56,
0x78,
]
fn decode_connected_ping #
fn decode_connected_ping(data []u8) !ConnectedPing
fn decode_connected_pong #
fn decode_connected_pong(data []u8) !ConnectedPong
fn decode_connection_request #
fn decode_connection_request(data []u8) !ConnectionRequest
fn decode_connection_request_accepted #
fn decode_connection_request_accepted(data []u8) !ConnectionRequestAccepted
fn decode_incompatible_protocol_version #
fn decode_incompatible_protocol_version(data []u8) !IncompatibleProtocolVersion
fn decode_new_incoming_connection #
fn decode_new_incoming_connection(data []u8) !NewIncomingConnection
fn decode_open_connection_reply_1 #
fn decode_open_connection_reply_1(data []u8) !OpenConnectionReply1
fn decode_open_connection_reply_2 #
fn decode_open_connection_reply_2(data []u8) !OpenConnectionReply2
fn decode_open_connection_request_1 #
fn decode_open_connection_request_1(data []u8) !OpenConnectionRequest1
fn decode_open_connection_request_2 #
fn decode_open_connection_request_2(data []u8, server_has_security bool) !OpenConnectionRequest2
fn decode_unconnected_ping #
fn decode_unconnected_ping(data []u8) !UnconnectedPing
fn decode_unconnected_pong #
fn decode_unconnected_pong(data []u8) !UnconnectedPong
fn put_addr(mut b []u8, addr AddrPort) int
fn read_addr(b []u8) !(AddrPort, int)
fn sizeof_addr(addr AddrPort) int
struct AddrPort {
pub:
ip [4]u8
ip6 [16]u8
port u16
is6 bool
}
struct ConnectedPing {
pub:
ping_time i64
}
fn (ConnectedPing) encode #
fn (pk ConnectedPing) encode() []u8
struct ConnectedPong {
pub:
ping_time i64
pong_time i64
}
fn (ConnectedPong) encode #
fn (pk ConnectedPong) encode() []u8
struct ConnectionRequest #
struct ConnectionRequest {
pub:
client_guid i64
request_time i64
secure bool
}
fn (ConnectionRequest) encode #
fn (pk ConnectionRequest) encode() []u8
struct ConnectionRequestAccepted #
struct ConnectionRequestAccepted {
pub:
client_address AddrPort
ping_time i64
pong_time i64
}
fn (ConnectionRequestAccepted) encode #
fn (pk ConnectionRequestAccepted) encode() []u8
struct IncompatibleProtocolVersion #
struct IncompatibleProtocolVersion {
pub:
server_protocol u8
server_guid i64
}
fn (IncompatibleProtocolVersion) encode #
fn (pk IncompatibleProtocolVersion) encode() []u8
struct NewIncomingConnection #
struct NewIncomingConnection {
pub:
server_address AddrPort
ping_time i64
pong_time i64
}
fn (NewIncomingConnection) encode #
fn (pk NewIncomingConnection) encode() []u8
struct OpenConnectionReply1 #
struct OpenConnectionReply1 {
pub:
server_guid i64
server_has_security bool
cookie u32
mtu u16
}
fn (OpenConnectionReply1) encode #
fn (pk OpenConnectionReply1) encode() []u8
struct OpenConnectionReply2 #
struct OpenConnectionReply2 {
pub:
server_guid i64
client_address AddrPort
mtu u16
do_security bool
}
fn (OpenConnectionReply2) encode #
fn (pk OpenConnectionReply2) encode() []u8
struct OpenConnectionRequest1 #
struct OpenConnectionRequest1 {
pub:
client_protocol u8
mtu u16
}
fn (OpenConnectionRequest1) encode #
fn (pk OpenConnectionRequest1) encode() []u8
struct OpenConnectionRequest2 #
struct OpenConnectionRequest2 {
pub:
server_address AddrPort
mtu u16
client_guid i64
server_has_security bool
cookie u32
}
fn (OpenConnectionRequest2) encode #
fn (pk OpenConnectionRequest2) encode() []u8
struct UnconnectedPing {
pub:
ping_time i64
client_guid i64
}
fn (UnconnectedPing) encode #
fn (pk UnconnectedPing) encode() []u8
struct UnconnectedPong {
pub:
ping_time i64
server_guid i64
data []u8
}
fn (UnconnectedPong) encode #
fn (pk UnconnectedPong) encode() []u8