本文整理汇总了Python中zmq.error._check_rc函数的典型用法代码示例。如果您正苦于以下问题:Python _check_rc函数的具体用法?Python _check_rc怎么用?Python _check_rc使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了_check_rc函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: set
def set(self, option, value):
"""set a context option
see zmq_ctx_set
"""
rc = C.zmq_ctx_set(self._zmq_ctx, option, value)
_check_rc(rc)
开发者ID:ellisonbg,项目名称:pyzmq,代码行数:7,代码来源:context.py
示例2: proxy
def proxy(frontend, backend, capture=None):
if isinstance(capture, Socket):
capture = capture._zmq_socket
else:
capture = ffi.NULL
rc = C.zmq_proxy(frontend._zmq_socket, backend._zmq_socket, capture)
_check_rc(rc)
开发者ID:ArikaChen,项目名称:pyzmq,代码行数:8,代码来源:devices.py
示例3: get
def get(self, option):
"""get context option
see zmq_ctx_get
"""
rc = C.zmq_ctx_get(self._zmq_ctx, option)
_check_rc(rc)
return rc
开发者ID:ellisonbg,项目名称:pyzmq,代码行数:8,代码来源:context.py
示例4: _retry_sys_call
def _retry_sys_call(f, *args, **kwargs):
"""make a call, retrying if interrupted with EINTR"""
while True:
rc = f(*args)
try:
_check_rc(rc)
except InterruptedSystemCall:
continue
else:
break
开发者ID:anthony-cervantes,项目名称:pyzmq,代码行数:10,代码来源:utils.py
示例5: close
def close(self, linger=None):
rc = 0
if not self._closed and hasattr(self, '_zmq_socket'):
if self._zmq_socket is not None:
if linger is not None:
self.set(zmq.LINGER, linger)
rc = C.zmq_close(self._zmq_socket)
self._closed = True
if self.context:
self.context._rm_socket(self._ref)
if rc < 0:
_check_rc(rc)
开发者ID:Lothiraldan,项目名称:pyzmq,代码行数:12,代码来源:socket.py
示例6: bind
def bind(self, address):
rc = C.zmq_bind(self._zmq_socket, address)
if rc < 0:
if IPC_PATH_MAX_LEN and C.zmq_errno() == errno_mod.ENAMETOOLONG:
# py3compat: address is bytes, but msg wants str
if str is unicode:
address = address.decode('utf-8', 'replace')
path = address.split('://', 1)[-1]
msg = ('ipc path "{0}" is longer than {1} '
'characters (sizeof(sockaddr_un.sun_path)).'
.format(path, IPC_PATH_MAX_LEN))
raise ZMQError(C.zmq_errno(), msg=msg)
else:
_check_rc(rc)
开发者ID:WongTai,项目名称:pyzmq,代码行数:14,代码来源:socket.py
示例7: get
def get(self, option):
c_data = new_pointer_from_opt(option, length=255)
c_value_pointer = c_data[0]
c_sizet_pointer = c_data[1]
rc = C.zmq_getsockopt(self._zmq_socket, option, c_value_pointer, c_sizet_pointer)
_check_rc(rc)
sz = c_sizet_pointer[0]
v = value_from_opt_pointer(option, c_value_pointer, sz)
if option != zmq.IDENTITY and option in zmq.constants.bytes_sockopts and v.endswith(b"\0"):
v = v[:-1]
return v
开发者ID:ellisonbg,项目名称:pyzmq,代码行数:14,代码来源:socket.py
示例8: term
def term(self):
if self.closed:
return
rc = C.zmq_ctx_destroy(self._zmq_ctx)
try:
_check_rc(rc)
except InterruptedSystemCall:
# ignore interrupted term
# see PEP 475 notes about close & EINTR for why
pass
self._zmq_ctx = None
self._closed = True
开发者ID:Lothiraldan,项目名称:pyzmq,代码行数:14,代码来源:context.py
示例9: curve_keypair
def curve_keypair():
"""generate a Z85 keypair for use with zmq.CURVE security
Requires libzmq (≥ 4.0) to have been linked with libsodium.
Returns
-------
(public, secret) : two bytestrings
The public and private keypair as 40 byte z85-encoded bytestrings.
"""
public = ffi.new('char[64]')
private = ffi.new('char[64]')
rc = C.zmq_curve_keypair(public, private)
_check_rc(rc)
return ffi.buffer(public)[:40], ffi.buffer(private)[:40]
开发者ID:Bluehorn,项目名称:pyzmq,代码行数:15,代码来源:utils.py
示例10: curve_keypair
def curve_keypair():
"""generate a Z85 keypair for use with zmq.CURVE security
Requires libzmq (≥ 4.0) to have been built with CURVE support.
Returns
-------
(public, secret) : two bytestrings
The public and private keypair as 40 byte z85-encoded bytestrings.
"""
_check_version((3,2), "monitor")
public = ffi.new('char[64]')
private = ffi.new('char[64]')
rc = C.zmq_curve_keypair(public, private)
_check_rc(rc)
return ffi.buffer(public)[:40], ffi.buffer(private)[:40]
开发者ID:Lothiraldan,项目名称:pyzmq,代码行数:16,代码来源:utils.py
示例11: bind
def bind(self, address):
if isinstance(address, unicode):
address = address.encode("utf8")
rc = C.zmq_bind(self._zmq_socket, address)
if rc < 0:
if IPC_PATH_MAX_LEN and C.zmq_errno() == errno_mod.ENAMETOOLONG:
# py3compat: address is bytes, but msg wants str
if str is unicode:
address = address.decode("utf-8", "replace")
path = address.split("://", 1)[-1]
msg = 'ipc path "{0}" is longer than {1} ' "characters (sizeof(sockaddr_un.sun_path)).".format(
path, IPC_PATH_MAX_LEN
)
raise ZMQError(C.zmq_errno(), msg=msg)
else:
_check_rc(rc)
开发者ID:dougc333,项目名称:TestCode,代码行数:16,代码来源:socket.py
示例12: zmq_poll
def zmq_poll(sockets, timeout):
cffi_pollitem_list = []
low_level_to_socket_obj = {}
from zmq import Socket
for item in sockets:
if isinstance(item[0], Socket):
low_level_to_socket_obj[item[0]._zmq_socket] = item
cffi_pollitem_list.append(_make_zmq_pollitem(item[0], item[1]))
else:
if not isinstance(item[0], int):
# not an FD, get it from fileno()
item = (item[0].fileno(), item[1])
low_level_to_socket_obj[item[0]] = item
cffi_pollitem_list.append(_make_zmq_pollitem_fromfd(item[0], item[1]))
items = ffi.new('zmq_pollitem_t[]', cffi_pollitem_list)
list_length = ffi.cast('int', len(cffi_pollitem_list))
while True:
c_timeout = ffi.cast('long', timeout)
start = monotonic()
rc = C.zmq_poll(items, list_length, c_timeout)
try:
_check_rc(rc)
except InterruptedSystemCall:
if timeout > 0:
ms_passed = int(1000 * (monotonic() - start))
if ms_passed < 0:
# don't allow negative ms_passed,
# which can happen on old Python versions without time.monotonic.
warnings.warn(
"Negative elapsed time for interrupted poll: %s."
" Did the clock change?" % ms_passed,
RuntimeWarning)
ms_passed = 0
timeout = max(0, timeout - ms_passed)
continue
else:
break
result = []
for index in range(len(items)):
if items[index].revents > 0:
if not items[index].socket == ffi.NULL:
result.append((low_level_to_socket_obj[items[index].socket][0],
items[index].revents))
else:
result.append((items[index].fd, items[index].revents))
return result
开发者ID:Lothiraldan,项目名称:pyzmq,代码行数:46,代码来源:_poll.py
示例13: set
def set(self, option, value):
length = None
if isinstance(value, unicode):
raise TypeError("unicode not allowed, use bytes")
if isinstance(value, bytes):
if option not in zmq.constants.bytes_sockopts:
raise TypeError("not a bytes sockopt: %s" % option)
length = len(value)
c_data = initialize_opt_pointer(option, value, length)
c_value_pointer = c_data[0]
c_sizet = c_data[1]
rc = C.zmq_setsockopt(self._zmq_socket, option, ffi.cast("void*", c_value_pointer), c_sizet)
_check_rc(rc)
开发者ID:ellisonbg,项目名称:pyzmq,代码行数:17,代码来源:socket.py
示例14: recv
def recv(self, flags=0, copy=True, track=False):
zmq_msg = ffi.new('zmq_msg_t*')
C.zmq_msg_init(zmq_msg)
rc = C.zmq_msg_recv(zmq_msg, self._zmq_socket, flags)
if rc < 0:
C.zmq_msg_close(zmq_msg)
_check_rc(rc)
value = ffi.buffer(C.zmq_msg_data(zmq_msg), C.zmq_msg_size(zmq_msg))[:]
frame = Frame(value, track=track)
frame.more = self.getsockopt(RCVMORE)
if copy:
return frame.bytes
else:
return frame
开发者ID:JathavanSriram,项目名称:pyzmq,代码行数:18,代码来源:socket.py
示例15: send
def send(self, message, flags=0, copy=False, track=False):
if isinstance(message, unicode):
raise TypeError("Message must be in bytes, not an unicode Object")
if isinstance(message, Frame):
message = message.bytes
zmq_msg = ffi.new('zmq_msg_t*')
c_message = ffi.new('char[]', message)
rc = C.zmq_msg_init_size(zmq_msg, len(message))
C.memcpy(C.zmq_msg_data(zmq_msg), c_message, len(message))
rc = C.zmq_msg_send(zmq_msg, self._zmq_socket, flags)
C.zmq_msg_close(zmq_msg)
_check_rc(rc)
if track:
return zmq.MessageTracker()
开发者ID:cgc1983,项目名称:pyzmq,代码行数:18,代码来源:socket.py
示例16: get
def get(self, option, length=0):
from zmq.sugar.constants import bytes_sockopts
if option in bytes_sockopts:
length = 255
try:
low_level_data = new_pointer_from_opt(option, length=length)
except ValueError:
raise ZMQError(EINVAL)
low_level_value_pointer = low_level_data[0]
low_level_sizet_pointer = low_level_data[1]
rc = C.zmq_getsockopt(self._zmq_socket,
option,
low_level_value_pointer,
low_level_sizet_pointer)
_check_rc(rc)
return value_from_opt_pointer(option, low_level_value_pointer)
开发者ID:JathavanSriram,项目名称:pyzmq,代码行数:20,代码来源:socket.py
示例17: recv
def recv(self, flags=0, copy=True, track=False):
zmq_msg = ffi.new("zmq_msg_t*")
C.zmq_msg_init(zmq_msg)
try:
_retry_sys_call(C.zmq_msg_recv, zmq_msg, self._zmq_socket, flags)
except Exception:
C.zmq_msg_close(zmq_msg)
raise
_buffer = ffi.buffer(C.zmq_msg_data(zmq_msg), C.zmq_msg_size(zmq_msg))
value = _buffer[:]
rc = C.zmq_msg_close(zmq_msg)
_check_rc(rc)
frame = Frame(value, track=track)
frame.more = self.getsockopt(RCVMORE)
if copy:
return frame.bytes
else:
return frame
开发者ID:dougc333,项目名称:TestCode,代码行数:22,代码来源:socket.py
示例18: set
def set(self, option, value):
length = None
str_value = False
if isinstance(value, str):
length = len(value)
str_value = True
try:
low_level_data = initialize_opt_pointer(option, value, length)
except ValueError:
if not str_value:
raise ZMQError(EINVAL)
raise TypeError("Invalid Option")
low_level_value_pointer = low_level_data[0]
low_level_sizet = low_level_data[1]
rc = C.zmq_setsockopt(self._zmq_socket,
option,
ffi.cast('void*', low_level_value_pointer),
low_level_sizet)
_check_rc(rc)
开发者ID:JathavanSriram,项目名称:pyzmq,代码行数:23,代码来源:socket.py
示例19: zmq_poll
def zmq_poll(sockets, timeout):
cffi_pollitem_list = []
low_level_to_socket_obj = {}
for item in sockets:
if isinstance(item[0], int):
low_level_to_socket_obj[item[0]] = item
cffi_pollitem_list.append(_make_zmq_pollitem_fromfd(item[0], item[1]))
else:
low_level_to_socket_obj[item[0]._zmq_socket] = item
cffi_pollitem_list.append(_make_zmq_pollitem(item[0], item[1]))
items = ffi.new('zmq_pollitem_t[]', cffi_pollitem_list)
list_length = ffi.cast('int', len(cffi_pollitem_list))
c_timeout = ffi.cast('long', timeout)
rc = C.zmq_poll(items, list_length, c_timeout)
_check_rc(rc)
result = []
for index in range(len(items)):
if not items[index].socket == ffi.NULL:
if items[index].revents > 0:
result.append((low_level_to_socket_obj[items[index].socket][0],
items[index].revents))
else:
result.append((items[index].fd, items[index].revents))
return result
开发者ID:ArikaChen,项目名称:pyzmq,代码行数:24,代码来源:_poll.py
示例20: unbind
def unbind(self, address):
rc = C.zmq_unbind(self._zmq_socket, address)
_check_rc(rc)
开发者ID:WongTai,项目名称:pyzmq,代码行数:3,代码来源:socket.py
注:本文中的zmq.error._check_rc函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论