[Python-ideas] socket.sendall() "counter" parameter
Giampaolo Rodola'
g.rodola at gmail.com
Fri Apr 18 13:34:45 CEST 2014
With current socket.sendall() implementation if an error occurs it's
impossible to tell how much data was sent. As such I'm wondering whether it
would make sense to add a "counter" parameter which gets incremented
internally:
sent = 0
try:
sock.sendall(data, counter=sent)
except socket.error as err:
priint("only %s bytes were sent" % sent)
This would both allow to not lose information on error and avoid keeping
track of the total data being sent, which usually requires and extra len()
call. E.g. when sending a file:
file = open('somefile', 'rb')
total = 0
while True:
chunk = file.read(8192)
if not chunk:
break
sock.sendall(chunk, counter=total)
Thoughts?
--
Giampaolo - http://grodola.blogspot.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20140418/14da77ab/attachment.html>
More information about the Python-ideas
mailing list