in zktraffic/base/client_message.py [0:0]
def with_params(cls, xid, path, watch, data, offset, size, client, server):
acls = []
ephemeral = False
sequence = False
data_length, offset = read_number(data, offset)
if data_length >= 0 and data_length < cls.MAX_PKT_SIZE:
offset += data_length
acls_count, offset = read_number(data, offset)
if acls_count < cls.MAX_ACLS:
bad_acls = False
for i in range(0, acls_count):
perms, offset = read_number(data, offset)
try:
scheme, offset = read_string(data, offset)
cred, offset = read_string(data, offset)
except StringTooLong:
bad_acls = True
break
acls.append(Acl(perms, scheme, cred))
if not bad_acls:
flags, offset = read_number(data, offset)
ephemeral = flags & 0x1 == 1
sequence = flags & 0x2 == 2
return cls(size, xid, path, client, watch, ephemeral, sequence, acls, server)