本文整理汇总了Python中serialization.AMQPWriter.write_table方法的典型用法代码示例。如果您正苦于以下问题:Python AMQPWriter.write_table方法的具体用法?Python AMQPWriter.write_table怎么用?Python AMQPWriter.write_table使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类serialization.AMQPWriter
的用法示例。
在下文中一共展示了AMQPWriter.write_table方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _x_start_ok
# 需要导入模块: from serialization import AMQPWriter [as 别名]
# 或者: from serialization.AMQPWriter import write_table [as 别名]
def _x_start_ok(self, client_properties, mechanism, response, locale):
"""
select security mechanism and locale
This method selects a SASL security mechanism. ASL uses SASL
(RFC2222) to negotiate authentication and encryption.
PARAMETERS:
client_properties: table
client properties
mechanism: shortstr
selected security mechanism
A single security mechanisms selected by the client,
which must be one of those specified by the server.
RULE:
The client SHOULD authenticate using the highest-
level security profile it can handle from the list
provided by the server.
RULE:
The mechanism field MUST contain one of the
security mechanisms proposed by the server in the
Start method. If it doesn't, the server MUST close
the socket.
response: longstr
security response data
A block of opaque data passed to the security
mechanism. The contents of this data are defined by
the SASL security mechanism. For the PLAIN security
mechanism this is defined as a field table holding two
fields, LOGIN and PASSWORD.
locale: shortstr
selected message locale
A single message local selected by the client, which
must be one of those specified by the server.
"""
args = AMQPWriter()
args.write_table(client_properties)
args.write_shortstr(mechanism)
args.write_longstr(response)
args.write_shortstr(locale)
self._send_method((10, 11), args)
示例2: __init__
# 需要导入模块: from serialization import AMQPWriter [as 别名]
# 或者: from serialization.AMQPWriter import write_table [as 别名]
def __init__(
self,
host="localhost",
userid="guest",
password="guest",
login_method="AMQPLAIN",
login_response=None,
virtual_host="/",
locale="en_US",
client_properties=None,
ssl=False,
insist=False,
connect_timeout=None,
**kwargs
):
"""
Create a connection to the specified host, which should be
a 'host[:port]', such as 'localhost', or '1.2.3.4:5672'
(defaults to 'localhost', if a port is not specified then
5672 is used)
If login_response is not specified, one is built up for you from
userid and password if they are present.
"""
if (login_response is None) and (userid is not None) and (password is not None):
login_response = AMQPWriter()
login_response.write_table({"LOGIN": userid, "PASSWORD": password})
login_response = login_response.getvalue()[4:] # Skip the length
# at the beginning
d = {}
d.update(LIBRARY_PROPERTIES)
if client_properties:
d.update(client_properties)
self.known_hosts = ""
while True:
self.channels = {}
# The connection object itself is treated as channel 0
super(Connection, self).__init__(self, 0)
self.transport = None
# Properties set in the Tune method
self.channel_max = 65535
self.frame_max = 131072
self.heartbeat = 0
# Properties set in the Start method
self.version_major = 0
self.version_minor = 0
self.server_properties = {}
self.mechanisms = []
self.locales = []
# Let the transport.py module setup the actual
# socket connection to the broker.
#
self.transport = create_transport(host, connect_timeout, ssl)
self.method_reader = MethodReader(self.transport)
self.method_writer = MethodWriter(self.transport, self.frame_max)
self.wait(allowed_methods=[(10, 10)]) # start
self._x_start_ok(d, login_method, login_response, locale)
self._wait_tune_ok = True
while self._wait_tune_ok:
self.wait(allowed_methods=[(10, 20), (10, 30)]) # secure # tune
host = self._x_open(virtual_host, insist=insist)
if host is None:
# we weren't redirected
return
# we were redirected, close the socket, loop and try again
try:
self.close()
except Exception:
pass