From 316b61a15ff334a27462715ed4c99cf244a25701 Mon Sep 17 00:00:00 2001 From: Determinant Date: Fri, 7 Jun 2019 16:00:27 -0400 Subject: use SigEvent callback in the example --- salticidae.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'salticidae.go') diff --git a/salticidae.go b/salticidae.go index 4a8712a..1dce21e 100644 --- a/salticidae.go +++ b/salticidae.go @@ -4,8 +4,10 @@ package salticidae // #cgo CFLAGS: -I${SRCDIR}/salticidae/include/ // #cgo LDFLAGS: ${SRCDIR}/salticidae/libsalticidae.so -Wl,-rpath=${SRCDIR}/salticidae/ // #include +// #include // #include "salticidae/netaddr.h" // #include "salticidae/network.h" +// #include "salticidae/event.h" import "C" import "unsafe" @@ -26,6 +28,7 @@ type EventContext = *C.struct_eventcontext_t func NewEventContext() EventContext { return C.eventcontext_new() } func (self EventContext) Dispatch() { C.eventcontext_dispatch(self) } +func (self EventContext) Stop() { C.eventcontext_stop(self) } type MsgNetworkConfig = *C.struct_msgnetwork_config_t @@ -38,3 +41,16 @@ func NewMsgNetwork(ec EventContext, config MsgNetworkConfig) MsgNetwork { func (self MsgNetwork) Start() { C.msgnetwork_start(self) } func (self MsgNetwork) Listen(addr NetAddr) { C.msgnetwork_listen(self, addr) } func (self MsgNetwork) Connect(addr NetAddr) { C.msgnetwork_connect(self, addr) } +func (self MsgNetwork) Free() { C.msgnetwork_free(self) } + +type SigEvent = *C.sigev_t +type SigEventCallback = C.sigev_callback_t +var SIGTERM = C.SIGTERM +var SIGINT = C.SIGINT + +func NewSigEvent(ec EventContext, cb SigEventCallback) SigEvent { + return C.sigev_new(ec, cb) +} + +func (self SigEvent) Add(sig int) { C.sigev_add(self, C.int(sig)) } +func (self SigEvent) Free() { C.sigev_free(self) } -- cgit v1.2.3