Maintain connection creation time and last receive time

This commit is contained in:
Tal Aloni 2017-12-08 16:12:07 +02:00
parent eb5989eb94
commit 125df899cb
2 changed files with 27 additions and 0 deletions

View file

@ -22,6 +22,8 @@ namespace SMBLibrary.Server
private IPEndPoint m_clientEndPoint;
private NBTConnectionReceiveBuffer m_receiveBuffer;
private BlockingQueue<SessionPacket> m_sendQueue;
private DateTime m_creationDT;
private DateTime m_lastReceiveDT;
private LogDelegate LogToServerHandler;
public SMBDialect Dialect;
public GSSContext AuthenticationContext;
@ -32,6 +34,8 @@ namespace SMBLibrary.Server
m_clientEndPoint = clientEndPoint;
m_receiveBuffer = new NBTConnectionReceiveBuffer();
m_sendQueue = new BlockingQueue<SessionPacket>();
m_creationDT = DateTime.UtcNow;
m_lastReceiveDT = DateTime.UtcNow;
LogToServerHandler = logToServerHandler;
Dialect = SMBDialect.NotSet;
}
@ -42,6 +46,8 @@ namespace SMBLibrary.Server
m_clientEndPoint = state.ClientEndPoint;
m_receiveBuffer = state.ReceiveBuffer;
m_sendQueue = state.SendQueue;
m_creationDT = state.CreationDT;
m_lastReceiveDT = state.LastReceiveDT;
LogToServerHandler = state.LogToServerHandler;
Dialect = state.Dialect;
}
@ -104,6 +110,26 @@ namespace SMBLibrary.Server
}
}
public DateTime CreationDT
{
get
{
return m_creationDT;
}
}
public DateTime LastReceiveDT
{
get
{
return m_lastReceiveDT;
}
set
{
m_lastReceiveDT = value;
}
}
public string ConnectionIdentifier
{
get

View file

@ -186,6 +186,7 @@ namespace SMBLibrary.Server
return;
}
state.LastReceiveDT = DateTime.UtcNow;
NBTConnectionReceiveBuffer receiveBuffer = state.ReceiveBuffer;
receiveBuffer.SetNumberOfBytesReceived(numberOfBytesReceived);
ProcessConnectionBuffer(ref state);