Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.3.12 #36

Merged
merged 2 commits into from
Jan 13, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/Samples/Sample.WebSocket.Server/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ static void Main(string[] args)
ServerWsHandler handler = new ServerWsHandler();
TwinoServer server = new TwinoServer(new ServerOptions
{
PingInterval = 8,
PingInterval = 15,
Hosts = new List<HostOptions>
{
new HostOptions
Expand Down
6 changes: 3 additions & 3 deletions src/Twino.Client.Connectors/Twino.Client.Connectors.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Client.Connectors</Product>
<Description>Connectors for twino WebSocket and TMQ protocols</Description>
<PackageTags>twino,server,client,connector,websocket,tmq</PackageTags>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<AssemblyVersion>2.3.12</AssemblyVersion>
<FileVersion>2.3.12</FileVersion>
<PackageVersion>2.3.12</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
6 changes: 3 additions & 3 deletions src/Twino.Client.TMQ/Twino.Client.TMQ.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Client.TMQ</Product>
<Description>Twino Messaging Queue Client to connect all TMQ Servers</Description>
<PackageTags>twino,tmq,client,mq,messaging,queue</PackageTags>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<AssemblyVersion>2.3.12</AssemblyVersion>
<FileVersion>2.3.12</FileVersion>
<PackageVersion>2.3.12</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
6 changes: 3 additions & 3 deletions src/Twino.Client.WebSocket/Twino.Client.WebSocket.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Client.WebSocket</Product>
<Description>Twino WebSocket Client to connect all WebSocket servers</Description>
<PackageTags>twino,websocket,client</PackageTags>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<AssemblyVersion>2.3.12</AssemblyVersion>
<FileVersion>2.3.12</FileVersion>
<PackageVersion>2.3.12</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
2 changes: 1 addition & 1 deletion src/Twino.Core/ClientSocketBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ protected static bool CertificateCallback(object sender, X509Certificate certifi
/// </summary>
protected void SetOnMessageReceived(TMessage message)
{
LastAliveDate = DateTime.UtcNow;
KeepAlive();
MessageReceived?.Invoke(this, message);
}
}
Expand Down
5 changes: 0 additions & 5 deletions src/Twino.Core/IConnectionInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,5 @@ public interface IConnectionInfo
/// </summary>
/// <returns></returns>
Stream GetStream();

/// <summary>
/// call when client sends pong message as ping asnwer
/// </summary>
void PongReceived();
}
}
28 changes: 17 additions & 11 deletions src/Twino.Core/SocketBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,6 @@ public abstract class SocketBase
/// </summary>
public bool IsSsl { get; protected set; }

/// <summary>
/// The last PONG received time. If this time is before last second PING time, the client will be removed.
/// </summary>
internal DateTime PongTime { get; set; }

/// <summary>
/// When client is disconnected and disposed,
/// The message will be sent to all event subscribers.
Expand Down Expand Up @@ -77,6 +72,11 @@ public abstract class SocketBase
/// Used for preventing unnecessary ping/pong traffic
/// </summary>
public DateTime LastAliveDate { get; protected set; } = DateTime.UtcNow;

/// <summary>
/// True, If a pong must received asap
/// </summary>
internal bool PongRequired { get; set; }

#endregion

Expand All @@ -87,15 +87,13 @@ public abstract class SocketBase
/// </summary>
protected SocketBase()
{
PongTime = DateTime.UtcNow.AddSeconds(15);
}

/// <summary>
/// Socket base constructor for server sockets
/// </summary>
protected SocketBase(IConnectionInfo info)
{
PongTime = DateTime.UtcNow.AddSeconds(15);
IsSsl = info.IsSsl;
IsConnected = true;
Stream = info.GetStream();
Expand Down Expand Up @@ -148,8 +146,8 @@ public async Task<bool> SendAsync(byte[] data)
if (Stream == null || data == null)
return false;

LastAliveDate = DateTime.UtcNow;
await Stream.WriteAsync(data);
LastAliveDate = DateTime.UtcNow;
return true;
}
catch
Expand All @@ -168,8 +166,6 @@ public bool Send(byte[] data)
{
if (Stream == null || data == null)
return false;

LastAliveDate = DateTime.UtcNow;

if (IsSsl)
{
Expand All @@ -187,6 +183,7 @@ public bool Send(byte[] data)
else
Stream.BeginWrite(data, 0, data.Length, EndWrite, data);

LastAliveDate = DateTime.UtcNow;
return true;
}
catch
Expand Down Expand Up @@ -219,6 +216,15 @@ private void SendQueue(byte[] data)
}, "", false);
}

/// <summary>
/// Updates socket alive date
/// </summary>
public void KeepAlive()
{
LastAliveDate = DateTime.UtcNow;
PongRequired = false;
}

#endregion

#region Abstract Methods
Expand Down Expand Up @@ -303,7 +309,7 @@ internal void SetOnProtocolSwitched(ITwinoProtocol previous, ITwinoProtocol curr
/// </summary>
/// <returns></returns>
public abstract void Pong();

#endregion
}
}
6 changes: 3 additions & 3 deletions src/Twino.Core/Twino.Core.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Core</Product>
<Description>Twino Core library for all twino servers, protocols and services</Description>
<PackageTags>twino,server,core</PackageTags>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<AssemblyVersion>2.3.12</AssemblyVersion>
<FileVersion>2.3.12</FileVersion>
<PackageVersion>2.3.12</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("Mehmet Helvacıköylü")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyDescriptionAttribute("Twino Core library for all twino servers, protocols and services")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.10")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.12")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Twino.Core")]
[assembly: System.Reflection.AssemblyTitleAttribute("Twino.Core")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.10")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.12")]
6 changes: 3 additions & 3 deletions src/Twino.Extensions.Data/Twino.Extensions.Data.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Extensions.Data</Product>
<Description>Entity Framework Core Data Context extension for Twino IOC</Description>
<PackageTags>twino,entity,framework,data,context,factory,ioc,service</PackageTags>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<AssemblyVersion>2.3.12</AssemblyVersion>
<FileVersion>2.3.12</FileVersion>
<PackageVersion>2.3.12</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
6 changes: 3 additions & 3 deletions src/Twino.Extensions.Http/Twino.Extensions.Http.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Extensions.Http</Product>
<Description>HttpClient Factory extension for Twino IOC</Description>
<PackageTags>twino,http,client,factory,ioc,dependency,injection,service</PackageTags>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<AssemblyVersion>2.3.12</AssemblyVersion>
<FileVersion>2.3.12</FileVersion>
<PackageVersion>2.3.12</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("Mehmet Helvacıköylü")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyDescriptionAttribute("HttpClient Factory extension for Twino IOC")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.10")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.12")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Twino.Extensions.Http")]
[assembly: System.Reflection.AssemblyTitleAttribute("Twino.Extensions.Http")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.10")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.12")]
6 changes: 3 additions & 3 deletions src/Twino.Ioc/Twino.Ioc.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Ioc</Product>
<Description>Twino IOC Service containers and scopes</Description>
<PackageTags>twino,ioc,dependency,injection,service,container,scope</PackageTags>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<AssemblyVersion>2.3.12</AssemblyVersion>
<FileVersion>2.3.12</FileVersion>
<PackageVersion>2.3.12</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("Mehmet Helvacıköylü")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyDescriptionAttribute("Twino IOC Service containers and scopes")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.10")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.12")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Twino.Ioc")]
[assembly: System.Reflection.AssemblyTitleAttribute("Twino.Ioc")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.10")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.12")]
2 changes: 1 addition & 1 deletion src/Twino.MQ/Network/MqConnectionHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ private async Task RouteToHandler(MqClient mc, TmqMessage message, IConnectionIn

//client sends PONG message
case MessageType.Pong:
info.PongReceived();
mc.KeepAlive();
break;

//close the client's connection
Expand Down
6 changes: 3 additions & 3 deletions src/Twino.MQ/Twino.MQ.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.MQ</Product>
<Description>Messaging Queue Server library with TMQ Protocol via Twino Server</Description>
<PackageTags>twino,server,tmq,messaging,queue,mq</PackageTags>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<AssemblyVersion>2.3.12</AssemblyVersion>
<FileVersion>2.3.12</FileVersion>
<PackageVersion>2.3.12</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("Mehmet Helvacıköylü")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyDescriptionAttribute("Messaging Queue Server library with TMQ Protocol via Twino Server")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.10")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.12")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Twino.MQ")]
[assembly: System.Reflection.AssemblyTitleAttribute("Twino.MQ")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.10")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.12")]
6 changes: 3 additions & 3 deletions src/Twino.Mvc.Auth.Jwt/Twino.Mvc.Auth.Jwt.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Mvc.Auth.Jwt</Product>
<Description>JSON Web Token Authentication and Authorization library for Twino MVC</Description>
<PackageTags>twino,http,mvc,jwt,token,authentication,authorization</PackageTags>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<AssemblyVersion>2.3.12</AssemblyVersion>
<FileVersion>2.3.12</FileVersion>
<PackageVersion>2.3.12</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("Mehmet Helvacıköylü")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyDescriptionAttribute("JSON Web Token Authentication and Authorization library for Twino MVC")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.10")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.12")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Twino.Mvc.Auth.Jwt")]
[assembly: System.Reflection.AssemblyTitleAttribute("Twino.Mvc.Auth.Jwt")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.10")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.12")]
6 changes: 3 additions & 3 deletions src/Twino.Mvc/Twino.Mvc.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Mvc</Product>
<Description>MVC Library for Twino Http Server</Description>
<PackageTags>twino,http,server,mvc</PackageTags>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<AssemblyVersion>2.3.12</AssemblyVersion>
<FileVersion>2.3.12</FileVersion>
<PackageVersion>2.3.12</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
6 changes: 3 additions & 3 deletions src/Twino.Protocols.Http/Twino.Protocols.Http.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Protocols.Http</Product>
<Description>Twino Http Protocol library and server extension for Twino Server</Description>
<PackageTags>twino,tcp,server,http,protocol</PackageTags>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<AssemblyVersion>2.3.12</AssemblyVersion>
<FileVersion>2.3.12</FileVersion>
<PackageVersion>2.3.12</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("Mehmet Helvacıköylü")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyDescriptionAttribute("Twino Http Protocol library and server extension for Twino Server")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.10")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.12")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Twino.Protocols.Http")]
[assembly: System.Reflection.AssemblyTitleAttribute("Twino.Protocols.Http")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.10")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.12")]
6 changes: 3 additions & 3 deletions src/Twino.Protocols.TMQ/Twino.Protocols.TMQ.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Protocols.TMQ</Product>
<Description>Twino Messaging Queue (TMQ) Protocol library and server extension for Twino Server</Description>
<PackageTags>twino,tcp,server,http,messaging,queue,tmq,mq,protocol</PackageTags>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<AssemblyVersion>2.3.12</AssemblyVersion>
<FileVersion>2.3.12</FileVersion>
<PackageVersion>2.3.12</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
4 changes: 3 additions & 1 deletion src/Twino.Protocols.TMQ/TwinoTmqProtocol.cs
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,9 @@ public async Task HandleConnection(IConnectionInfo info, ProtocolHandshakeResult
//if user makes a mistake in received method, we should not interrupt connection handling
try
{
await _handler.Received(_server, info, (TmqServerSocket) handshakeResult.Socket, message);
TmqServerSocket socket = (TmqServerSocket) handshakeResult.Socket;
socket.KeepAlive();
await _handler.Received(_server, info, socket, message);
}
catch (Exception e)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Protocols.WebSocket</Product>
<Description>WebSocket Protocol library and server extension for Twino Server</Description>
<PackageTags>twino,tcp,server,http,websocket,protocol,ws</PackageTags>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<AssemblyVersion>2.3.12</AssemblyVersion>
<FileVersion>2.3.12</FileVersion>
<PackageVersion>2.3.12</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
5 changes: 3 additions & 2 deletions src/Twino.Protocols.WebSocket/TwinoWebSocketProtocol.cs
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,8 @@ public async Task HandleConnection(IConnectionInfo info, ProtocolHandshakeResult
info.Close();
return;
}


handshakeResult.Socket.KeepAlive();
await ProcessMessage(info, handshakeResult.Socket, message);
}
}
Expand Down Expand Up @@ -178,7 +179,7 @@ private async Task ProcessMessage(IConnectionInfo info, SocketBase socket, WebSo

//client sent response pong to ping message
case SocketOpCode.Pong:
info.PongReceived();
socket.KeepAlive();
break;
}
}
Expand Down
Loading