public OnSendCompleted ( int bytesTransferred ) : bool | ||
bytesTransferred | int | |
return | bool |
public bool OnSendCompleted(int bytesTransferred)
{
// Make sure that the header is sent
// required so that the Send() method can switch to the body state.
if (!_headerIsSent)
{
_headerSize -= bytesTransferred;
if (_headerSize <= 0)
{
_headerIsSent = true;
_headerSize = 0;
}
}
_bytesTransferred = bytesTransferred;
_bytesLeftToSend -= bytesTransferred;
if (_bytesLeftToSend == 0)
Clear();
return _bytesLeftToSend == 0;
}
public void reset_after_each_successful_message() { var contentType = "text/plain;type=System.String"; var serializer = new StringSerializer(); var slice = new BufferSlice(new byte[520], 0, 520); var msg = "Hello world"; var buffer = new SocketBufferFake(); var sut = new MicroMessageEncoder(serializer, slice); sut.Prepare(msg); sut.Send(buffer); sut.OnSendCompleted(13); sut.Send(buffer); sut.OnSendCompleted(2 + MicroMessageEncoder.FixedHeaderLength + contentType.Length + msg.Length - 13); sut.Prepare(msg); sut.Send(buffer); sut.OnSendCompleted(5); sut.Send(buffer); buffer.Offset.Should().Be(5); buffer.Count.Should().Be(2 + MicroMessageEncoder.FixedHeaderLength + contentType.Length + msg.Length - 5); }