>> def read_and_unpack(stream, format): 
>>   data = stream.read(struct.calcsize(format))
>>   return struct.unpack(format, data)
>> 
>>> Otherwise, I'm +1 on your suggestion, avoiding copying is a good
>>> thing.
>> 
>> I believe my function also doesn't involve any unnecessary copies.
> You just moved your copying down one level into stream.read(). This
> magic function must be implemented by possibly concatenating
> several "socket.recv()" calls.
> This invariably involves data copying, either by "".join() or
> stringio.write()

Assuming there are multiple recv calls. For a typical struct, all data
will come out of the stream with a single recv. so no join will be
necessary.

Regards,
Martin
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to