{"push_id":1022455062,"size":4,"distinct_size":4,"ref":"refs/heads/master","head":"5c83391e0f5c383a2ba3ca755836c6ea3fce61a4","before":"fa0d47ac82846bb7b9585f6c37841e2d01fb0d65","commits":[{"sha":"90806d86136caaab01bc43476b89d61c1c759210","author":{"email":"8b47c772194f57b013ef06547f03baa47fd31bf2@hotmail.com","name":"Eric Eilebrecht"},"message":"Ensure ordering of async Socket send/receive operations\n\nIf the send/receive queue is not empty, don't attempt to synchronously send/receive.  Instead, wait our turn behind prior pending operations.\n\nThis has the unfortunate consequence of making `_queueLock` cover more code.  This is solvable, but is a much larger change, which will have to wait for later.","distinct":true,"url":"https://api.github.com/repos/dotnet/corefx/commits/90806d86136caaab01bc43476b89d61c1c759210"},{"sha":"88594178a51c3ec7d8e83a4396881174cc337380","author":{"email":"8b47c772194f57b013ef06547f03baa47fd31bf2@hotmail.com","name":"Eric Eilebrecht"},"message":"For ordered operations, only honor QueueState.Set if the queue is empty.","distinct":true,"url":"https://api.github.com/repos/dotnet/corefx/commits/88594178a51c3ec7d8e83a4396881174cc337380"},{"sha":"42bce3f24a7c2bde33a219b8b9a588d05018abd1","author":{"email":"8b47c772194f57b013ef06547f03baa47fd31bf2@hotmail.com","name":"Eric Eilebrecht"},"message":"For Send operations, BytesTransferred is an accumulator.  It needs to be initialized with the result from the previous attempt, which may have sent part of the buffer.","distinct":true,"url":"https://api.github.com/repos/dotnet/corefx/commits/42bce3f24a7c2bde33a219b8b9a588d05018abd1"},{"sha":"5c83391e0f5c383a2ba3ca755836c6ea3fce61a4","author":{"email":"8b47c772194f57b013ef06547f03baa47fd31bf2@users.noreply.github.com","name":"Eric Eilebrecht"},"message":"Merge pull request #6838 from ericeil/Ordering\n\nEnsure ordering of async Socket send/receive operations","distinct":true,"url":"https://api.github.com/repos/dotnet/corefx/commits/5c83391e0f5c383a2ba3ca755836c6ea3fce61a4"}]}