MCPcopy Create free account
hub / github.com/LabPy/lantz / unpack_replyheader

Method unpack_replyheader

lantz/drivers/legacy/rpc.py:154–187  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

152 # Caller must add procedure-specific part of call
153
154 def unpack_replyheader(self):
155 xid = self.unpack_uint()
156 mtype = self.unpack_enum()
157 if mtype != msg_type.REPLY:
158 raise RPCUnpackError('no REPLY but %r' % (mtype,))
159 stat = self.unpack_enum()
160 if stat == reply_stat.MSG_DENIED:
161 stat = self.unpack_enum()
162 if stat == reject_stat.RPC_MISMATCH:
163 low = self.unpack_uint()
164 high = self.unpack_uint()
165 raise RPCUnpackError('MSG_DENIED: RPC_MISMATCH: %r' % ((low, high),))
166 if stat == reject_stat.AUTH_ERROR:
167 stat = self.unpack_uint()
168 raise RPCUnpackError('MSG_DENIED: AUTH_ERROR: %r' % (stat,))
169 raise RPCUnpackError('MSG_DENIED: %r' % (stat,))
170 if stat != reply_stat.MSG_ACCEPTED:
171 raise RPCUnpackError('Neither MSG_DENIED nor MSG_ACCEPTED: %r' % (stat,))
172 verf = self.unpack_auth()
173 stat = self.unpack_enum()
174 if stat == accept_stat.PROG_UNAVAIL:
175 raise RPCUnpackError('call failed: PROG_UNAVAIL')
176 if stat == accept_stat.PROG_MISMATCH:
177 low = self.unpack_uint()
178 high = self.unpack_uint()
179 raise RPCUnpackError('call failed: PROG_MISMATCH: %r' % ((low, high),))
180 if stat == accept_stat.PROC_UNAVAIL:
181 raise RPCUnpackError('call failed: PROC_UNAVAIL')
182 if stat == accept_stat.GARBAGE_ARGS:
183 raise RPCGarbageArgs
184 if stat != accept_stat.SUCCESS:
185 raise RPCUnpackError('call failed: %r' % (stat,))
186 return xid, verf
187 # Caller must get procedure-specific part of reply
188
189
190class Client:

Callers 3

do_callMethod · 0.80
do_callMethod · 0.80
make_callMethod · 0.80

Calls 2

unpack_authMethod · 0.95
RPCUnpackErrorClass · 0.85

Tested by

no test coverage detected