Lines Matching +refs:queue +refs:get +refs:op

15 import queue
392 def decode(self, ynl, nl_msg, op): argument
394 if op is None:
395 op = ynl.rsp_by_value[msg.cmd()]
396 fixed_header_size = ynl._struct_size(op.fixed_header)
495 self.async_msg_queue = queue.Queue()
501 for op_name, op in self.ops.items():
503 setattr(self, op.ident_name, bound_f)
525 if enum.type == 'flags' or attr_spec.get('enum-as-flags', False):
618 if enum.type == 'flags' or attr_spec.get('enum-as-flags', False):
816 def _decode_extack(self, request, op, extack): argument
820 msg = self.nlproto.decode(self, NlMsg(request, 0, op.attr_set), op)
821 offset = self.nlproto.msghdr_size() + self._struct_size(op.fixed_header)
822 path = self._decode_extack_path(msg.raw_attrs, op.attr_set, offset,
930 op = self.rsp_by_value[decoded.cmd()]
931 attrs = self._decode(decoded.raw_attrs, op.attr_set.name)
932 if op.fixed_header:
933 attrs.update(self._decode_struct(decoded.raw, op.fixed_header))
935 msg['name'] = op['name']
972 except queue.Empty:
988 op = self.find_operation(name)
989 if not op:
992 return op['do']['request']['attributes'].copy()
994 def _encode_message(self, op, vals, flags, req_seq): argument
999 msg = self.nlproto.message(nl_flags, op.req_value, 1, req_seq)
1000 if op.fixed_header:
1001 msg += self._encode_struct(op.fixed_header, vals)
1002 search_attrs = SpaceAttrs(op.attr_set, vals)
1004 msg += self._add_attr(op.attr_set.name, name, value, search_attrs)
1013 op = self.ops[method]
1014 msg = self._encode_message(op, vals, flags, req_seq)
1015 reqs_by_seq[req_seq] = (op, msg, flags)
1026 nms = NlMsgs(reply, attr_space=op.attr_set)
1030 (op, req_msg, req_flags) = reqs_by_seq[nl_msg.nl_seq]
1032 self._decode_extack(req_msg, op, nl_msg.extack)
1034 op = None
1058 decoded = self.nlproto.decode(self, nl_msg, op)
1061 if nl_msg.nl_seq not in reqs_by_seq or decoded.cmd() != op.rsp_value:
1069 rsp_msg = self._decode(decoded.raw_attrs, op.attr_set.name)
1070 if op.fixed_header:
1071 rsp_msg.update(self._decode_struct(decoded.raw, op.fixed_header))