def serialize_object(obj, threshold=64e-6):
    """Serialize an object into a list of sendable buffers.
    
    Parameters
    ----------
    
    obj : object
        The object to be serialized
    threshold : float
        The threshold for not double-pickling the content.
        
    
    Returns
    -------
    ('pmd', [bufs]) :
        where pmd is the pickled metadata wrapper,
        bufs is a list of data buffers
    """
    databuffers = []
    if isinstance(obj, (list, tuple)):
        clist = canSequence(obj)
        slist = map(serialize, clist)
        for s in slist:
            if s.typeDescriptor in ('buffer', 'ndarray') or s.getDataSize() > threshold:
                databuffers.append(s.getData())
                s.data = None
        return pickle.dumps(slist,-1), databuffers
    elif isinstance(obj, dict):
        sobj = {}
        for k in sorted(obj.iterkeys()):
            s = serialize(can(obj[k]))
            if s.typeDescriptor in ('buffer', 'ndarray') or s.getDataSize() > threshold:
                databuffers.append(s.getData())
                s.data = None
            sobj[k] = s
        return pickle.dumps(sobj,-1),databuffers
    else:
        s = serialize(can(obj))
        if s.typeDescriptor in ('buffer', 'ndarray') or s.getDataSize() > threshold:
            databuffers.append(s.getData())
            s.data = None
        return pickle.dumps(s,-1),databuffers
def serialize_object(obj, threshold=64e-6):
    """Serialize an object into a list of sendable buffers.
    
    Parameters
    ----------
    
    obj : object
        The object to be serialized
    threshold : float
        The threshold for not double-pickling the content.
        
    
    Returns
    -------
    ('pmd', [bufs]) :
        where pmd is the pickled metadata wrapper,
        bufs is a list of data buffers
    """
    databuffers = []
    if isinstance(obj, (list, tuple)):
        clist = canSequence(obj)
        slist = map(serialize, clist)
        for s in slist:
            if s.typeDescriptor in ('buffer', 'ndarray') or s.getDataSize() > threshold:
                databuffers.append(s.getData())
                s.data = None
        return pickle.dumps(slist,-1), databuffers
    elif isinstance(obj, dict):
        sobj = {}
        for k in sorted(obj.iterkeys()):
            s = serialize(can(obj[k]))
            if s.typeDescriptor in ('buffer', 'ndarray') or s.getDataSize() > threshold:
                databuffers.append(s.getData())
                s.data = None
            sobj[k] = s
        return pickle.dumps(sobj,-1),databuffers
    else:
        s = serialize(can(obj))
        if s.typeDescriptor in ('buffer', 'ndarray') or s.getDataSize() > threshold:
            databuffers.append(s.getData())
            s.data = None
        return pickle.dumps(s,-1),databuffers
def serialize_object ( obj , threshold = 64e-6 ) : databuffers = [ ] if isinstance ( obj , ( list , tuple ) ) : clist = canSequence ( obj ) slist = map ( serialize , clist ) for s in slist : if s . typeDescriptor in ( 'buffer' , 'ndarray' ) or s . getDataSize ( ) > threshold : databuffers . append ( s . getData ( ) ) s . data = None return pickle . dumps ( slist , - 1 ) , databuffers elif isinstance ( obj , dict ) : sobj = { } for k in sorted ( obj . iterkeys ( ) ) : s = serialize ( can ( obj [ k ] ) ) if s . typeDescriptor in ( 'buffer' , 'ndarray' ) or s . getDataSize ( ) > threshold : databuffers . append ( s . getData ( ) ) s . data = None sobj [ k ] = s return pickle . dumps ( sobj , - 1 ) , databuffers else : s = serialize ( can ( obj ) ) if s . typeDescriptor in ( 'buffer' , 'ndarray' ) or s . getDataSize ( ) > threshold : databuffers . append ( s . getData ( ) ) s . data = None return pickle . dumps ( s , - 1 ) , databuffers
Serialize an object into a list of sendable buffers.
    
    Parameters
    ----------
    
    obj : object
        The object to be serialized
    threshold : float
        The threshold for not double-pickling the content.
        
    
    Returns
    -------
    ('pmd', [bufs]) :
        where pmd is the pickled metadata wrapper,
        bufs is a list of data buffers
Serialize an object into a list of sendable buffers . Parameters ---------- obj : object The object to be serialized threshold : float The threshold for not double - pickling the content . Returns ------- ( pmd [ bufs ] ) : where pmd is the pickled metadata wrapper bufs is a list of data buffers