diff options
author | Determinant <[email protected]> | 2019-06-08 19:36:06 -0400 |
---|---|---|
committer | Determinant <[email protected]> | 2019-06-08 19:36:06 -0400 |
commit | d342de9e03902b93f1cff552e772f98caa0ee726 (patch) | |
tree | f12f78e5a66b9700db726848f23d8d5694a7fc9b | |
parent | 1d71aba0a7c7d32c4188db801897a51ddfae865d (diff) |
WIP: ...
-rw-r--r-- | event.go | 28 | ||||
-rw-r--r-- | netaddr.go | 2 | ||||
m--------- | salticidae | 0 | ||||
-rw-r--r-- | stream.go | 8 | ||||
-rw-r--r-- | test_msgnet/main.go | 4 |
5 files changed, 37 insertions, 5 deletions
@@ -11,6 +11,34 @@ func (self EventContext) Free() { C.eventcontext_free(self) } func (self EventContext) Dispatch() { C.eventcontext_dispatch(self) } func (self EventContext) Stop() { C.eventcontext_stop(self) } +type ThreadCall = *C.struct_threadcall_t +type ThreadCallCallback = C.threadcall_callback_t + +func NewThreadCall(ec EventContext) ThreadCall { return C.threadcall_new(ec) } + +func (self ThreadCall) Free() { C.threadcall_free(self) } + +func (self ThreadCall) AsyncCall(callback ThreadCallCallback, userdata rawptr_t) { + C.threadcall_async_call(self, callback, userdata) +} + +func (self ThreadCall) GetEC() EventContext { return C.threadcall_get_ec(self) } + +type TimerEvent = *C.timerev_t +type TimerEventCallback = C.timerev_callback_t + +func NewTimerEvent(ec EventContext, cb TimerEventCallback) TimerEvent { + return C.timerev_new(ec, cb) +} + +func (self TimerEvent) Free() { C.timerev_free(self) } +func (self TimerEvent) SetCallback(callback TimerEventCallback) { + C.timerev_set_callback(self, callback) +} + +func (self TimerEvent) Add(t_sec float64) { C.timerev_add(self, C.double(t_sec)) } +func (self TimerEvent) Clear() { C.timerev_clear(self) } + type SigEvent = *C.sigev_t type SigEventCallback = C.sigev_callback_t var SIGTERM = C.SIGTERM @@ -14,3 +14,5 @@ func NewAddrFromIPPortString(addr string) (res NetAddr) { } func (self NetAddr) Free() { C.netaddr_free(self) } + +func (self NetAddr) IsEq(other NetAddr) bool { return bool(C.netaddr_is_eq(self, other)) } diff --git a/salticidae b/salticidae -Subproject 1f5bffd006ef432a2fa12fe5baf03c7160c42f7 +Subproject 66c711cf653b082ae07e1119417dcb3461039c8 @@ -8,6 +8,10 @@ type ByteArray = *C.struct_bytearray_t func NewByteArray() ByteArray { return C.bytearray_new() } func (self ByteArray) Free() { C.bytearray_free(self) } +func NewByteArrayMovedFromDataStream(src DataStream) ByteArray { + return C.bytearray_new_moved_from_datastream(src) +} + type DataStream = *C.struct_datastream_t func NewDataStream() DataStream { return C.datastream_new() } @@ -82,7 +86,3 @@ func (self UInt256) Unserialize(s DataStream) { C.uint256_unserialize(self, s) } func (self DataStream) GetHash() UInt256 { return C.datastream_get_hash(self) } - -func (_moved_self DataStream) ToByteArray() ByteArray { - return C.datastream_to_bytearray(_moved_self) -} diff --git a/test_msgnet/main.go b/test_msgnet/main.go index f1d82dc..4158376 100644 --- a/test_msgnet/main.go +++ b/test_msgnet/main.go @@ -37,7 +37,9 @@ func msgHelloSerialize(name string, text string) salticidae.Msg { serialized.PutData(t) serialized.PutData([]byte(name)) serialized.PutData([]byte(text)) - return salticidae.NewMsg(MSG_OPCODE_HELLO, serialized.ToByteArray()) + return salticidae.NewMsg( + MSG_OPCODE_HELLO, + salticidae.NewByteArrayFromDataStreamByMove(serialized)) } func msgHelloUnserialize(msg salticidae.Msg) MsgHello { |