Uploaded Test files
This commit is contained in:
parent
f584ad9d97
commit
2e81cb7d99
16627 changed files with 2065359 additions and 102444 deletions
77
venv/Lib/site-packages/zmq/backend/cffi/context.py
Normal file
77
venv/Lib/site-packages/zmq/backend/cffi/context.py
Normal file
|
@ -0,0 +1,77 @@
|
|||
# coding: utf-8
|
||||
"""zmq Context class"""
|
||||
|
||||
# Copyright (C) PyZMQ Developers
|
||||
# Distributed under the terms of the Modified BSD License.
|
||||
|
||||
from ._cffi import C, ffi
|
||||
|
||||
from .constants import EINVAL, IO_THREADS, LINGER
|
||||
|
||||
from zmq.error import ZMQError, InterruptedSystemCall, _check_rc
|
||||
|
||||
class Context(object):
|
||||
_zmq_ctx = None
|
||||
_iothreads = None
|
||||
_closed = None
|
||||
_shadow = False
|
||||
|
||||
def __init__(self, io_threads=1, shadow=None):
|
||||
|
||||
if shadow:
|
||||
self._zmq_ctx = ffi.cast("void *", shadow)
|
||||
self._shadow = True
|
||||
else:
|
||||
self._shadow = False
|
||||
if not io_threads >= 0:
|
||||
raise ZMQError(EINVAL)
|
||||
|
||||
self._zmq_ctx = C.zmq_ctx_new()
|
||||
if self._zmq_ctx == ffi.NULL:
|
||||
raise ZMQError(C.zmq_errno())
|
||||
if not shadow:
|
||||
C.zmq_ctx_set(self._zmq_ctx, IO_THREADS, io_threads)
|
||||
self._closed = False
|
||||
|
||||
@property
|
||||
def underlying(self):
|
||||
"""The address of the underlying libzmq context"""
|
||||
return int(ffi.cast('size_t', self._zmq_ctx))
|
||||
|
||||
@property
|
||||
def closed(self):
|
||||
return self._closed
|
||||
|
||||
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)
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
__all__ = ['Context']
|
Loading…
Add table
Add a link
Reference in a new issue