本文整理匯總了Python中xdrlib.Unpacker.get_buffer方法的典型用法代碼示例。如果您正苦於以下問題:Python Unpacker.get_buffer方法的具體用法?Python Unpacker.get_buffer怎麽用?Python Unpacker.get_buffer使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類xdrlib.Unpacker
的用法示例。
在下文中一共展示了Unpacker.get_buffer方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: read_datagram
# 需要導入模塊: from xdrlib import Unpacker [as 別名]
# 或者: from xdrlib.Unpacker import get_buffer [as 別名]
def read_datagram(addr, data):
"""Yield all record (flow and counter records) from the sFlow v5
datagram given by up, which is expected to be an xdrlib.Unpacker
object."""
up = Unpacker(data)
version = up.unpack_int()
if not version == 5:
hexdump_bytes(data)
raise Exception()
af = up.unpack_int()
if af == 1: # IPv4
agent_address = ntohl(up.unpack_uint())
else:
raise Exception()
sf = Datagram(addr, agent_address)
sub_agent_id = up.unpack_uint()
sequence_number = up.unpack_uint()
uptime = up.unpack_uint()
nb_sample_records = up.unpack_uint()
# Iterating over sample records
for i in range(nb_sample_records):
try:
return read_sample_record(up, sf)
except EOFError:
stderr.write("read_sample_datagram: EOFError reading sample_record,", \
"Premature end of data stream, Skipping record\n")
up.set_position(len(up.get_buffer()))
break
示例2: get_tlv
# 需要導入模塊: from xdrlib import Unpacker [as 別名]
# 或者: from xdrlib.Unpacker import get_buffer [as 別名]
def get_tlv(wrapped_message):
unpacker = Unpacker(wrapped_message)
tag = unpacker.unpack_uint()
message = unpacker.unpack_string()
pos = unpacker.get_position()
buff = unpacker.get_buffer()
rest = buff[pos:]
return tag, message, rest