Refactor ASP net Core integration and fix breaking change.

This commit is contained in:
Christian Kratky
2018-06-17 17:19:08 +02:00
parent 8444b6b3be
commit 66048931a2
7 changed files with 51 additions and 63 deletions
@@ -23,9 +23,10 @@ namespace MQTTnet.AspNetCore.Client.Tcp
_ioScheduler = ioScheduler;
}
public SocketAwaitable GetAwaiter() => this;
public bool IsCompleted => ReferenceEquals(_callback, _callbackCompleted);
public SocketAwaitable GetAwaiter() => this;
public int GetResult()
{
Debug.Assert(ReferenceEquals(_callback, _callbackCompleted));
@@ -24,7 +24,6 @@ namespace MQTTnet.AspNetCore.Client.Tcp
_eventArgs.SetBuffer(buffer);
#else
var segment = buffer.GetArray();
_eventArgs.SetBuffer(segment.Array, segment.Offset, segment.Count);
#endif
if (!_socket.ReceiveAsync(_eventArgs))
@@ -61,7 +61,6 @@ namespace MQTTnet.AspNetCore.Client.Tcp
_eventArgs.SetBuffer(MemoryMarshal.AsMemory(memory));
#else
var segment = memory.GetArray();
_eventArgs.SetBuffer(segment.Array, segment.Offset, segment.Count);
#endif
if (!_socket.SendAsync(_eventArgs))
@@ -21,13 +21,9 @@ namespace MQTTnet.AspNetCore.Client.Tcp
private Socket _socket;
private IDuplexPipe _application;
public bool IsConnected { get; private set; }
public override string ConnectionId { get; set; }
public override IFeatureCollection Features { get; }
public override IDictionary<object, object> Items { get; set; }
public override IDuplexPipe Transport { get; set; }
@@ -209,11 +205,9 @@ namespace MQTTnet.AspNetCore.Client.Tcp
}
catch (SocketException ex) when (ex.SocketErrorCode == SocketError.OperationAborted)
{
error = null;
}
catch (ObjectDisposedException)
{
error = null;
}
catch (IOException ex)
{