diff options
author | Determinant <tederminant@gmail.com> | 2019-06-07 22:57:05 -0400 |
---|---|---|
committer | Determinant <tederminant@gmail.com> | 2019-06-07 22:57:05 -0400 |
commit | 92ad2074c4406d25ce52957890d9e48f6d769efe (patch) | |
tree | 22b331c9b4e4e1aefa53321e8aaf6b60214ec68e /network.go | |
parent | 9af95694330d8d0a56f534509e98dbac8e89e85e (diff) |
add makefile
Diffstat (limited to 'network.go')
-rw-r--r-- | network.go | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/network.go b/network.go new file mode 100644 index 0000000..572c1cc --- /dev/null +++ b/network.go @@ -0,0 +1,57 @@ +package salticidae + +// #include "salticidae/network.h" +import "C" + +type MsgNetwork = *C.struct_msgnetwork_t + +type MsgNetworkConn = *C.struct_msgnetwork_conn_t + +type MsgNetworkConnMode = C.msgnetwork_conn_mode_t + + +func (self MsgNetworkConn) GetNet() MsgNetwork { + return C.msgnetwork_conn_get_net(self) +} + +var ( + CONN_MODE_ACTIVE = MsgNetworkConnMode(C.CONN_MODE_ACTIVE) + CONN_MODE_PASSIVE = MsgNetworkConnMode(C.CONN_MODE_PASSIVE) + CONN_MODE_DEAD = MsgNetworkConnMode(C.CONN_MODE_DEAD) +) + +func (self MsgNetworkConn) GetMode() MsgNetworkConnMode { + return C.msgnetwork_conn_get_mode(self) +} + +func (self MsgNetworkConn) GetAddr() NetAddr { + return C.msgnetwork_conn_get_addr(self) +} + +type MsgNetworkConfig = *C.struct_msgnetwork_config_t + +func NewMsgNetworkConfig() MsgNetworkConfig { return C.msgnetwork_config_new() } + +func (self MsgNetworkConfig) Free() { C.msgnetwork_config_free(self) } + +func NewMsgNetwork(ec EventContext, config MsgNetworkConfig) MsgNetwork { + return C.msgnetwork_new(ec, config) +} + +func (self MsgNetwork) Free() { C.msgnetwork_free(self) } +func (self MsgNetwork) Listen(addr NetAddr) { C.msgnetwork_listen(self, addr) } +func (self MsgNetwork) Start() { C.msgnetwork_start(self) } + +func (self MsgNetwork) SendMsg(msg Msg, conn MsgNetworkConn) { C.msgnetwork_send_msg(self, msg, conn) } +func (self MsgNetwork) Connect(addr NetAddr) { C.msgnetwork_connect(self, addr) } + +type MsgNetworkMsgCallback = C.msgnetwork_msg_callback_t +type MsgNetworkConnCallback = C.msgnetwork_conn_callback_t + +func (self MsgNetwork) RegHandler(opcode Opcode, callback MsgNetworkMsgCallback) { + C.msgnetwork_reg_handler(self, C._opcode_t(opcode), callback) +} + +func (self MsgNetwork) RegConnHandler(callback MsgNetworkConnCallback) { + C.msgnetwork_reg_conn_handler(self, callback) +} |