本文整理汇总了Python中agentzero.core.SocketManager.ensure_and_bind方法的典型用法代码示例。如果您正苦于以下问题:Python SocketManager.ensure_and_bind方法的具体用法?Python SocketManager.ensure_and_bind怎么用?Python SocketManager.ensure_and_bind使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类agentzero.core.SocketManager
的用法示例。
在下文中一共展示了SocketManager.ensure_and_bind方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_socket_manager_can_poll_asynchronously
# 需要导入模块: from agentzero.core import SocketManager [as 别名]
# 或者: from agentzero.core.SocketManager import ensure_and_bind [as 别名]
def test_socket_manager_can_poll_asynchronously():
("SocketManager should leverage a non-blocking socket "
"collection can be used seamlessly in a blocking fashion [TCP SOCKET]")
# Given a socket manager for a server
server = SocketManager(zmq, context)
# And a reply socket listening on a tcp port
server.ensure_and_bind('reply-server', zmq.REP, 'tcp://0.0.0.0:3458', zmq.POLLIN | zmq.POLLOUT)
# And a socket manager for a client
client = SocketManager(zmq, context)
# And a request client connected to the server
client.ensure_and_connect('request-client', zmq.REQ, 'tcp://0.0.0.0:3458', zmq.POLLIN | zmq.POLLOUT)
# And send a request from the client
requester = client.wait_until_ready('request-client', zmq.POLLOUT, timeout=2)
requester.send_json({'client': 42})
# Then I should receive a request from the client
replier = server.wait_until_ready('reply-server', zmq.POLLIN, timeout=2)
replier.should_not.be.none
request = replier.recv_json()
# And the request should be the one that the client just sent
request.should.equal({'client': 42})
示例2: test_socket_manager_publish_safe_not_ready
# 需要导入模块: from agentzero.core import SocketManager [as 别名]
# 或者: from agentzero.core.SocketManager import ensure_and_bind [as 别名]
def test_socket_manager_publish_safe_not_ready():
("SocketManager.publish_safe should return False when the socket is not ready")
# Given a manager
manager = SocketManager(zmq, context)
# And a couple of sockets
manager.ensure_and_bind('foo', zmq.PUB, 'inproc://test.publisher.1', zmq.POLLOUT)
# When I call .publish_safe()
manager.publish_safe('foo', 'some-topic', {'some': 'value'})
示例3: test_socket_ensure_and_bind
# 需要导入模块: from agentzero.core import SocketManager [as 别名]
# 或者: from agentzero.core.SocketManager import ensure_and_bind [as 别名]
def test_socket_ensure_and_bind(get_or_create, bind, engage):
(
"SocketManager().ensure_and_bind() should ensure the socket existence then "
"bind to the given address."
)
# Given a zmq mock
zmq = Mock()
# And a context
context = Mock()
# And a socket manager
manager = SocketManager(zmq, context)
# When I call ensure_and_bind
result = manager.ensure_and_bind(
"foobar", "SOME_TYPE", "inproc://whatevs", "some-mechanism"
)
# Then it should have returned a socket from bind
result.should.equal(bind.return_value)
# And get_or_create should have been called correctly
get_or_create.assert_called_once_with(
"foobar", "SOME_TYPE", "some-mechanism"
)
# And bind should have been called with the given address
bind.assert_called_once_with("foobar", "inproc://whatevs", "some-mechanism")
# And engage should have been called with the default value
engage.assert_called_once_with()
示例4: test_socket_manager_subscribe
# 需要导入模块: from agentzero.core import SocketManager [as 别名]
# 或者: from agentzero.core.SocketManager import ensure_and_bind [as 别名]
def test_socket_manager_subscribe():
("SocketManager.subscribe should subscribe from a topic")
# Given a manager
manager = SocketManager(zmq, context)
# And a couple of sockets
manager.ensure_and_bind('foo', zmq.PUB, 'inproc://test.publisher.2', zmq.POLLOUT)
manager.create('bar', zmq.SUB)
manager.connect('bar', 'inproc://test.publisher.2', zmq.POLLIN)
gevent.spawn(manager.publish_safe, 'foo', 'some-topic', {'some': 'value'})
# Then it should have received
topic, result = next(manager.subscribe('bar'))
topic.should.equal('some-topic')
result.should.equal({'some': 'value'})