mirror of
https://github.com/esiur/esiur-dotnet.git
synced 2025-05-07 12:02:59 +00:00
AsyncQueue Fix
This commit is contained in:
parent
741819e11c
commit
3205499747
@ -66,6 +66,7 @@ namespace Esyur.Core
|
|||||||
if (list[i].Ready)
|
if (list[i].Ready)
|
||||||
{
|
{
|
||||||
Trigger(list[i].Result);
|
Trigger(list[i].Result);
|
||||||
|
resultReady = false;
|
||||||
list.RemoveAt(i);
|
list.RemoveAt(i);
|
||||||
i--;
|
i--;
|
||||||
}
|
}
|
||||||
|
@ -45,8 +45,7 @@ namespace Esyur.Core
|
|||||||
where TAwaiter : INotifyCompletion
|
where TAwaiter : INotifyCompletion
|
||||||
where TStateMachine : IAsyncStateMachine
|
where TStateMachine : IAsyncStateMachine
|
||||||
{
|
{
|
||||||
Console.WriteLine("AwaitOnCompleted");
|
awaiter.OnCompleted(stateMachine.MoveNext);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine>(
|
public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine>(
|
||||||
@ -54,8 +53,7 @@ namespace Esyur.Core
|
|||||||
where TAwaiter : ICriticalNotifyCompletion
|
where TAwaiter : ICriticalNotifyCompletion
|
||||||
where TStateMachine : IAsyncStateMachine
|
where TStateMachine : IAsyncStateMachine
|
||||||
{
|
{
|
||||||
Console.WriteLine("AwaitUnsafeOnCompleted");
|
awaiter.UnsafeOnCompleted(stateMachine.MoveNext);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public AsyncReply Task
|
public AsyncReply Task
|
||||||
|
@ -45,8 +45,7 @@ namespace Esyur.Core
|
|||||||
where TAwaiter : INotifyCompletion
|
where TAwaiter : INotifyCompletion
|
||||||
where TStateMachine : IAsyncStateMachine
|
where TStateMachine : IAsyncStateMachine
|
||||||
{
|
{
|
||||||
Console.WriteLine("AwaitOnCompleted");
|
awaiter.OnCompleted(stateMachine.MoveNext);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine>(
|
public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine>(
|
||||||
@ -54,8 +53,7 @@ namespace Esyur.Core
|
|||||||
where TAwaiter : ICriticalNotifyCompletion
|
where TAwaiter : ICriticalNotifyCompletion
|
||||||
where TStateMachine : IAsyncStateMachine
|
where TStateMachine : IAsyncStateMachine
|
||||||
{
|
{
|
||||||
Console.WriteLine("AwaitUnsafeOnCompleted");
|
awaiter.UnsafeOnCompleted(stateMachine.MoveNext);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public AsyncReply<T> Task
|
public AsyncReply<T> Task
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<PackageLicenseUrl>https://github.com/Esyur/Esyur-dotnet/blob/master/LICENSE</PackageLicenseUrl>
|
<PackageLicenseUrl>https://github.com/Esyur/Esyur-dotnet/blob/master/LICENSE</PackageLicenseUrl>
|
||||||
<PackageProjectUrl>http://www.esyur.com</PackageProjectUrl>
|
<PackageProjectUrl>http://www.esyur.com</PackageProjectUrl>
|
||||||
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
||||||
<Version>1.4.8</Version>
|
<Version>1.4.9</Version>
|
||||||
<RepositoryUrl>https://github.com/esyur/esyur-dotnet</RepositoryUrl>
|
<RepositoryUrl>https://github.com/esyur/esyur-dotnet</RepositoryUrl>
|
||||||
<Authors>Ahmed Kh. Zamil</Authors>
|
<Authors>Ahmed Kh. Zamil</Authors>
|
||||||
<AssemblyVersion>1.3.1.0</AssemblyVersion>
|
<AssemblyVersion>1.3.1.0</AssemblyVersion>
|
||||||
|
@ -389,15 +389,24 @@ namespace Esyur.Net.Sockets
|
|||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
kv.Key.Trigger(false);
|
asyncSending = false;
|
||||||
|
|
||||||
if (state != SocketState.Closed && !sock.Connected)
|
try
|
||||||
{
|
{
|
||||||
state = SocketState.Terminated;
|
kv.Key.Trigger(false);
|
||||||
Close();
|
|
||||||
|
if (state != SocketState.Closed && !sock.Connected)
|
||||||
|
{
|
||||||
|
state = SocketState.Terminated;
|
||||||
|
Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex2)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Level 2 {0}", ex2);
|
||||||
}
|
}
|
||||||
|
|
||||||
asyncSending = false;
|
|
||||||
|
|
||||||
Global.Log("TCPSocket", LogType.Error, ex.ToString());
|
Global.Log("TCPSocket", LogType.Error, ex.ToString());
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user