RMR_ERR_TIMEOUT 12 message processing call timed out
RMR_ERR_UNSET 13 the message hasn't been populated with a transport buffer
RMR_ERR_TRUNC 14 received message likely truncated
- RMR_ERR_INITFAILED 15 initialisation of something (probably message) failed
+ RMR_ERR_INITFAILED 15 initialization of something (probably message) failed
"""
if cache:
return sdict.get(stateno, "UNKNOWN STATE")
+_RCONST = _get_constants()
+
+
##############
# PUBLIC API
##############
# These constants are directly usable by importers of this library
# TODO: Are there others that will be useful?
-RMR_MAX_RCV_BYTES = _get_constants()["RMR_MAX_RCV_BYTES"]
+
+RMR_MAX_RCV_BYTES = _RCONST["RMR_MAX_RCV_BYTES"]
+RMRFL_MTCALL = _RCONST.get("RMRFL_MTCALL", 0x02) # initialization flags
+RMRFL_NONE = _RCONST.get("RMRFL_NONE", 0x0)
+RMR_OK = _RCONST["RMR_OK"] # useful state constants
+RMR_ERR_TIMEOUT = _RCONST["RMR_ERR_TIMEOUT"]
+RMR_ERR_RETRY = _RCONST["RMR_ERR_RETRY"]
class rmr_mbuf_t(Structure):
return _rmr_alloc_msg(vctx, size)
+_rmr_free_msg = rmr_c_lib.rmr_free_msg
+_rmr_free_msg.argtypes = [c_void_p]
+_rmr_free_msg.restype = None
+
+
+def rmr_free_msg(mbuf):
+ """
+ Refer to the rmr C documentation for rmr_free_msg
+ extern void rmr_free_msg( rmr_mbuf_t* mbuf )
+ """
+ if mbuf is not None:
+ _rmr_free_msg(mbuf)
+
+
_rmr_payload_size = rmr_c_lib.rmr_payload_size
_rmr_payload_size.argtypes = [POINTER(rmr_mbuf_t)]
_rmr_payload_size.restype = c_int