aboutsummaryrefslogtreecommitdiff
path: root/network.go
diff options
context:
space:
mode:
authorDeterminant <tederminant@gmail.com>2019-06-07 22:57:05 -0400
committerDeterminant <tederminant@gmail.com>2019-06-07 22:57:05 -0400
commit92ad2074c4406d25ce52957890d9e48f6d769efe (patch)
tree22b331c9b4e4e1aefa53321e8aaf6b60214ec68e /network.go
parent9af95694330d8d0a56f534509e98dbac8e89e85e (diff)
add makefile
Diffstat (limited to 'network.go')
-rw-r--r--network.go57
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)
+}