Exemplo n.º 1
0
 def _sendError(self, contact, rpcID, exceptionType, exceptionMessage):
     """ Send an RPC error message to the specified contact
     """
     msg = msgtypes.ErrorMessage(rpcID, self._node.id, exceptionType, exceptionMessage)
     msgPrimitive = self._translator.toPrimitive(msg)
     encodedMsg = self._encoder.encode(msgPrimitive)
     self._send(encodedMsg, rpcID, (contact.address, contact.port))
Exemplo n.º 2
0
 def fromPrimitive(self, msgPrimitive):
     msgType = msgPrimitive[self.headerType]
     if msgType == self.typeRequest:
         msg = msgtypes.RequestMessage(msgPrimitive[self.headerNodeID],
                                       msgPrimitive[self.headerPayload],
                                       msgPrimitive[self.headerArgs],
                                       msgPrimitive[self.headerMsgID])
     elif msgType == self.typeResponse:
         msg = msgtypes.ResponseMessage(msgPrimitive[self.headerMsgID],
                                        msgPrimitive[self.headerNodeID],
                                        msgPrimitive[self.headerPayload])
     elif msgType == self.typeError:
         msg = msgtypes.ErrorMessage(msgPrimitive[self.headerMsgID],
                                     msgPrimitive[self.headerNodeID],
                                     msgPrimitive[self.headerPayload],
                                     msgPrimitive[self.headerArgs])
     else:
         # Unknown message, no payload
         msg = msgtypes.Message(msgPrimitive[self.headerMsgID], msgPrimitive[self.headerNodeID])
     return msg