@@ -103,26 +103,30 @@ def lower_bonds(self):
103103 for lower , fval in six .iteritems (self ._overload_fields ):
104104 print ("%-20s %s" % (lower .__name__ , ", " .join ("%-12s" % ("%s=%r" % i ) for i in six .iteritems (fval )))) # noqa: E501
105105
106- def _unpickle (self , dlist ):
107- """Used to unpack pickling"""
108- self .__init__ (b"" .join (dlist ))
109- return self
110-
111106 def __reduce__ (self ):
112107 """Used by pickling methods"""
113- return (self .__class__ , (), (self .build (),))
114-
115- def __reduce_ex__ (self , proto ):
116- """Used by pickling methods"""
117- return self .__reduce__ ()
108+ return (self .__class__ , (), (
109+ self .build (),
110+ self .time ,
111+ self .sent_time ,
112+ self .direction ,
113+ self .sniffed_on ,
114+ self .wirelen ,
115+ ))
118116
119117 def __getstate__ (self ):
120118 """Mark object as pickable"""
121119 return self .__reduce__ ()[2 ]
122120
123121 def __setstate__ (self , state ):
124122 """Rebuild state using pickable methods"""
125- return self ._unpickle (state )
123+ self .__init__ (state [0 ])
124+ self .time = state [1 ]
125+ self .sent_time = state [2 ]
126+ self .direction = state [3 ]
127+ self .sniffed_on = state [4 ]
128+ self .wirelen = state [5 ]
129+ return self
126130
127131 def __deepcopy__ (self , memo ):
128132 """Used by copy.deepcopy"""
@@ -148,6 +152,8 @@ def __init__(self, _pkt=b"", post_transform=None, _internal=0, _underlayer=None,
148152 self .raw_packet_cache = None
149153 self .raw_packet_cache_fields = None
150154 self .wirelen = None
155+ self .direction = None
156+ self .sniffed_on = None
151157 if _pkt :
152158 self .dissect (_pkt )
153159 if not _internal :
0 commit comments