@@ -37,8 +37,8 @@ def serialize(self):
3737
3838class InnerEnvelope :
3939 def __init__ (self , receptor , message_id , sender , recipient , message_type , timestamp ,
40- raw_payload , directive = None , in_response_to = None , ttl = None ,
41- serial = 1 , expire_time_delta = 300 ):
40+ raw_payload , directive = None , in_response_to = None , ttl = None , serial = 1 ,
41+ code = 0 , expire_time_delta = 300 ):
4242 self .receptor = receptor
4343 self .message_id = message_id
4444 self .sender = sender
@@ -53,6 +53,7 @@ def __init__(self, receptor, message_id, sender, recipient, message_type, timest
5353 self .expire_time = None
5454 self .expire_time = time .time () + expire_time_delta
5555 self .serial = serial # serial index of responses
56+ self .code = code # optional code indicating an error
5657
5758 @classmethod
5859 async def deserialize (cls , receptor , msg ):
@@ -62,7 +63,7 @@ async def deserialize(cls, receptor, msg):
6263 return cls (receptor = receptor , ** json .loads (payload ))
6364
6465 @classmethod
65- def make_response (cls , receptor , recipient , payload , in_response_to , serial , ttl = None ):
66+ def make_response (cls , receptor , recipient , payload , in_response_to , serial , ttl = None , code = 0 ):
6667 if isinstance (payload , bytes ):
6768 encoded_payload = base64 .encodebytes (payload )
6869 else :
@@ -78,7 +79,8 @@ def make_response(cls, receptor, recipient, payload, in_response_to, serial, ttl
7879 directive = None ,
7980 in_response_to = in_response_to ,
8081 ttl = ttl ,
81- serial = serial
82+ serial = serial ,
83+ code = code ,
8284 )
8385
8486 def sign_and_serialize (self ):
0 commit comments