@@ -398,7 +398,7 @@ def _fb_unpack(self, execute=EX_CONSTRUCT, write_bytes=None):
398398 if typ >= EXTENDED_TYPE :
399399 typ -= EXTENDED_TYPE
400400 data = self ._fb_read (n , write_bytes )
401- return self .handle_extended_type (typ , data )
401+ return self .read_extended_type (typ , data )
402402 assert typ == TYPE_IMMEDIATE
403403 return obj
404404
@@ -420,7 +420,7 @@ def unpack(self, write_bytes=None):
420420 self ._fb_consume ()
421421 return ret
422422
423- def handle_extended_type (self , typecode , data ):
423+ def read_extended_type (self , typecode , data ):
424424 raise NotImplementedError ("Cannot decode extended type with typecode=%d" % typecode )
425425
426426 def read_array_header (self , write_bytes = None ):
@@ -533,32 +533,26 @@ def _pack(self, obj, nest_limit=DEFAULT_RECURSE_LIMIT, isinstance=isinstance):
533533 if isinstance (obj , dict ):
534534 return self ._fb_pack_map_pairs (len (obj ), dict_iteritems (obj ),
535535 nest_limit - 1 )
536- if self .pack_extended_type (obj ):
537- # it means that obj was succesfully handled by
538- # handle_extended_type, so we are done
536+ if self .handle_unknown_type (obj ):
537+ # it means that obj was succesfully packed, so we are done
539538 return
540539 if self ._default is not None :
541540 return self ._pack (self ._default (obj ), nest_limit - 1 )
542541 raise TypeError ("Cannot serialize %r" % obj )
543542
544- def pack_extended_type (self , obj ):
545- res = self .handle_extended_type (obj )
546- if res is None :
547- return False
548- fmt , typecode , data = res
543+ def handle_unknown_type (self , obj ):
544+ # by default we don't support any extended type. This can be
545+ # overridden by subclasses
546+ return None
547+
548+ def pack_extended_type (self , fmt , typecode , data ):
549549 # for now we support only this. We should add support for the other
550550 # fixext/ext formats
551551 assert fmt == "ext 32"
552552 assert 0 <= typecode <= 127
553553 N = len (data )
554554 self ._buffer .write (struct .pack ('>BIB' , 0xc9 , N , typecode ))
555555 self ._buffer .write (data )
556- return True
557-
558- def handle_extended_type (self , obj ):
559- # by default we don't support any extended type. This can be
560- # overridden by subclasses
561- return None
562556
563557 def pack (self , obj ):
564558 self ._pack (obj )
0 commit comments