Class: NNG::Socket::Bus0
- Inherits:
-
Object
- Object
- NNG::Socket::Bus0
- Defined in:
- ext/rbnng/bus0.c
Instance Method Summary collapse
- #dial(url) ⇒ Object
- #get_msg ⇒ Object
- #initialize ⇒ Object constructor
- #listen(url) ⇒ Object
- #send_msg(rb_strMsg) ⇒ Object
Constructor Details
#initialize ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'ext/rbnng/bus0.c', line 11 static VALUE socket_bus0_initialize(VALUE self) { RbnngSocket* p_rbnngSocket; Data_Get_Struct(self, RbnngSocket, p_rbnngSocket); int rv; if ((rv = nng_bus0_open(&p_rbnngSocket->socket)) != 0) { raise_error(rv); return Qnil; } if ((rv = nng_socket_set_ms(p_rbnngSocket->socket, NNG_OPT_RECVTIMEO, 100)) != 0) { raise_error(rv); return Qnil; } return self; } |
Instance Method Details
#dial(url) ⇒ Object
102 103 104 105 106 107 108 109 110 111 112 |
# File 'ext/rbnng/socket.c', line 102 VALUE socket_dial(VALUE self, VALUE url) { Check_Type(url, T_STRING); RbnngSocket* p_rbnngSocket; Data_Get_Struct(self, RbnngSocket, p_rbnngSocket); int rv; if ((rv = nng_dial(p_rbnngSocket->socket, StringValueCStr(url), 0, 0)) != 0) { raise_error(rv); } } |
#get_msg ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'ext/rbnng/socket.c', line 39 VALUE socket_get_msg(VALUE self) { RbnngSocket* p_rbnngSocket; Data_Get_Struct(self, RbnngSocket, p_rbnngSocket); int rv = rb_thread_call_without_gvl(socket_get_msg_blocking, p_rbnngSocket, 0, 0); if (rv == 0) { RbnngMsg* p_newMsg; VALUE newMsg = rb_class_new_instance(0, 0, rbnng_MsgClass); Data_Get_Struct(newMsg, RbnngMsg, p_newMsg); p_newMsg->p_msg = p_rbnngSocket->p_getMsgResult; return newMsg; } else { raise_error(rv); return Qnil; } } |
#listen(url) ⇒ Object
114 115 116 117 118 119 120 121 122 123 124 125 126 |
# File 'ext/rbnng/socket.c', line 114 VALUE socket_listen(VALUE self, VALUE url) { Check_Type(url, T_STRING); RbnngSocket* p_rbnngSocket; Data_Get_Struct(self, RbnngSocket, p_rbnngSocket); int rv; if ((rv = nng_listen(p_rbnngSocket->socket, StringValueCStr(url), NULL, 0)) != 0) { raise_error(rv); } } |
#send_msg(rb_strMsg) ⇒ Object
87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'ext/rbnng/socket.c', line 87 VALUE socket_send_msg(VALUE self, VALUE rb_strMsg) { Check_Type(rb_strMsg, T_STRING); RbnngSendMsgReq sendMsgReq = { .socketObj = self, .nextMsg = rb_strMsg, }; int rv = rb_thread_call_without_gvl(socket_send_msg_blocking, &sendMsgReq, 0, 0); if (rv != 0) { raise_error(rv); } } |