Skip to content

message

Constants #

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 #

fn put_addr(mut b []u8, addr AddrPort) int

fn read_addr #

fn read_addr(b []u8) !(AddrPort, int)

fn sizeof_addr #

fn sizeof_addr(addr AddrPort) int

struct AddrPort #

struct AddrPort {
pub:
	ip   [4]u8
	ip6  [16]u8
	port u16
	is6  bool
}

struct ConnectedPing #

struct ConnectedPing {
pub:
	ping_time i64
}

fn (ConnectedPing) encode #

fn (pk ConnectedPing) encode() []u8

struct ConnectedPong #

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 #

struct UnconnectedPing {
pub:
	ping_time   i64
	client_guid i64
}

fn (UnconnectedPing) encode #

fn (pk UnconnectedPing) encode() []u8

struct UnconnectedPong #

struct UnconnectedPong {
pub:
	ping_time   i64
	server_guid i64
	data        []u8
}

fn (UnconnectedPong) encode #

fn (pk UnconnectedPong) encode() []u8