|
|
@@ -74,64 +74,61 @@ namespace OHVConnector
|
|
|
#endregion
|
|
|
|
|
|
#region Connection Method
|
|
|
- public void Connect(bool active = false)
|
|
|
+ public void Connect( bool active = false )
|
|
|
{
|
|
|
ModeActive = active;
|
|
|
- if (!inited.HasValue)//최초 한번 실행.
|
|
|
+ if ( !inited.HasValue )//최초 한번 실행.
|
|
|
{
|
|
|
- _TQ = ThreadUtils.Invoke(_ThPullQueue);
|
|
|
+ _TQ = ThreadUtils.Invoke( _ThPullQueue );
|
|
|
inited = false;
|
|
|
}
|
|
|
- Assert.IsFalse(inited.Value, "Already connecting");
|
|
|
+ Assert.IsFalse( inited.Value, "Already connecting" );
|
|
|
|
|
|
inited = true;
|
|
|
|
|
|
- _TW = ThreadUtils.Invoke(_ThWriteTcp);
|
|
|
- _TR = ThreadUtils.Invoke(_ThReadTcp);
|
|
|
- _TLINK = ThreadUtils.Invoke(_ThLinkQuz);
|
|
|
+ _TW = ThreadUtils.Invoke( _ThWriteTcp );
|
|
|
+ _TR = ThreadUtils.Invoke( _ThReadTcp );
|
|
|
+ _TLINK = ThreadUtils.Invoke( _ThLinkQuz );
|
|
|
|
|
|
- _OnLog("OHV CONNECT REQ " + Config);
|
|
|
+ _OnLog( "OHV CONNECT REQ " + Config );
|
|
|
}
|
|
|
|
|
|
public void Disconnect()
|
|
|
{
|
|
|
//if (inited.HasValue && inited.Value)
|
|
|
- if (Connecting)
|
|
|
- {
|
|
|
- _OnLog("HSMS DISCONNECT REQ " + Config);
|
|
|
+ _OnLog( "HSMS DISCONNECT REQ " + Config );
|
|
|
|
|
|
- inited = false;
|
|
|
- quzT3.StopAll();
|
|
|
+ inited = false;
|
|
|
+ quzT3.StopAll();
|
|
|
|
|
|
- ThreadUtils.Kill(_TLINK);
|
|
|
- ThreadUtils.Kill(_TW);
|
|
|
- h.StopListen();
|
|
|
- ThreadUtils.Kill(_TR);
|
|
|
+ ThreadUtils.Kill( _TLINK );
|
|
|
+ ThreadUtils.Kill( _TW );
|
|
|
+ h.StopListen();
|
|
|
+ ThreadUtils.Kill( _TR );
|
|
|
|
|
|
- h.CloseSocket();//Kill을 사용할 경우 뒤에 존재해야 한다.
|
|
|
- }
|
|
|
+ h.CloseSocket();//Kill을 사용할 경우 뒤에 존재해야 한다.
|
|
|
}
|
|
|
|
|
|
- void _OnDicontd(Exception e)
|
|
|
+ void _OnDicontd( Exception e )
|
|
|
{
|
|
|
- _OnLog("OHV DISCONNECTED");
|
|
|
+ _OnLog( "OHV DISCONNECTED" );
|
|
|
sysbyte = 0;
|
|
|
ctrl_sysbyte = INIT_CTRL_SYSBYTE;
|
|
|
quzT3.StopAll();
|
|
|
ddReq.Clear();
|
|
|
|
|
|
- qQ.Enqueue(new QoNotComm { Arg0 = e });
|
|
|
+ qQ.Enqueue( new QoNotComm { Arg0 = e } );
|
|
|
}
|
|
|
|
|
|
void _OnContd()
|
|
|
{
|
|
|
- _OnLog("OHV CONNECTED");
|
|
|
- qQ.Enqueue(new QoComm());
|
|
|
+ _OnLog( "OHV CONNECTED" );
|
|
|
+ qQ.Enqueue( new QoComm() );
|
|
|
}
|
|
|
|
|
|
void TcpConnect()
|
|
|
{
|
|
|
- h.Connect(new TcpComm
|
|
|
+ h.Connect( new TcpComm
|
|
|
{
|
|
|
Active = ModeActive,
|
|
|
RetryCnt = 1, //T5를 처리해야 함.
|
|
|
@@ -139,17 +136,17 @@ namespace OHVConnector
|
|
|
PortNo = Config.Port,
|
|
|
T5 = Config.T5,
|
|
|
T6 = Config.T6,//Config.TcpRecdTimeout,
|
|
|
- });
|
|
|
+ } );
|
|
|
|
|
|
- if (!h.Connected)
|
|
|
+ if ( !h.Connected )
|
|
|
{
|
|
|
- if (ModeActive)
|
|
|
- _OnLog("T5 TIMEOUT " + Config.ID);
|
|
|
+ if ( ModeActive )
|
|
|
+ _OnLog( "T5 TIMEOUT " + Config.ID );
|
|
|
return;
|
|
|
}
|
|
|
_OnContd();
|
|
|
|
|
|
- ChgTcpTimeout(true);
|
|
|
+ ChgTcpTimeout( true );
|
|
|
//if (ModeActive)
|
|
|
//SendCtrlMsg(1);//무조건 HSMS Active
|
|
|
}
|
|
|
@@ -157,20 +154,20 @@ namespace OHVConnector
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
- private void _OnLog(string obj)
|
|
|
+ private void _OnLog( string obj )
|
|
|
{
|
|
|
- qQ.Enqueue(new QoLog { Arg0 = obj });
|
|
|
+ qQ.Enqueue( new QoLog { Arg0 = obj } );
|
|
|
}
|
|
|
|
|
|
- private void _OnTimeout(byte id, OCSMessage msg)
|
|
|
+ private void _OnTimeout( byte id, OCSMessage msg )
|
|
|
{
|
|
|
- if (null == msg)
|
|
|
+ if ( null == msg )
|
|
|
{
|
|
|
- logger.W("T3 [{0}] attachment is null", id);
|
|
|
+ logger.W( "T3 [{0}] attachment is null", id );
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- qQ.Enqueue(new QoTimeout { Arg0 = msg });
|
|
|
+ qQ.Enqueue( new QoTimeout { Arg0 = msg } );
|
|
|
//_OnLog("T3 TIMEOUT {0}".format(msg.LogHeader));
|
|
|
}
|
|
|
|
|
|
@@ -184,40 +181,40 @@ namespace OHVConnector
|
|
|
{
|
|
|
bool waked;
|
|
|
|
|
|
- if (Config.LinkOn)
|
|
|
- waked = LockUtils.Wait(Config.TLink, lockLink);
|
|
|
+ if ( Config.LinkOn )
|
|
|
+ waked = LockUtils.Wait( Config.TLink, lockLink );
|
|
|
else
|
|
|
- waked = LockUtils.Wait(lockLink);
|
|
|
+ waked = LockUtils.Wait( lockLink );
|
|
|
|
|
|
- if (waked)
|
|
|
+ if ( waked )
|
|
|
continue;//notify: 패킷을 수신할때마다 reset함.
|
|
|
|
|
|
- if (Connected)//연결여부와 상관없이 thread가 기동되므로 연결시에만.
|
|
|
+ if ( Connected )//연결여부와 상관없이 thread가 기동되므로 연결시에만.
|
|
|
{
|
|
|
//SendCtrlMsg(5);
|
|
|
}
|
|
|
}
|
|
|
- catch (ThreadAbortException)
|
|
|
+ catch ( ThreadAbortException )
|
|
|
{
|
|
|
break;
|
|
|
}
|
|
|
- catch (Exception e)
|
|
|
+ catch ( Exception e )
|
|
|
{
|
|
|
- logger.E(e);
|
|
|
+ logger.E( e );
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void _ThWriteTcp()
|
|
|
{
|
|
|
- logger.I("Write {0}", ThreadUtils.GetCurrThreadID());
|
|
|
+ logger.I( "Write {0}", ThreadUtils.GetCurrThreadID() );
|
|
|
for (; ; )
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
var v = qqW.Dequeue();
|
|
|
|
|
|
- this.TcpWriteMsg(v);
|
|
|
+ this.TcpWriteMsg( v );
|
|
|
//v.IsRecd = false;
|
|
|
|
|
|
//if (v.AfterMillis > 0)
|
|
|
@@ -228,13 +225,13 @@ namespace OHVConnector
|
|
|
//else
|
|
|
// TcpWriteNormalMsg(v);
|
|
|
}
|
|
|
- catch (ThreadAbortException)
|
|
|
+ catch ( ThreadAbortException )
|
|
|
{
|
|
|
break;
|
|
|
}
|
|
|
- catch (Exception e)
|
|
|
+ catch ( Exception e )
|
|
|
{
|
|
|
- logger.E(e);
|
|
|
+ logger.E( e );
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -245,30 +242,30 @@ namespace OHVConnector
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
- if (!h.Connected)
|
|
|
+ if ( !h.Connected )
|
|
|
{
|
|
|
TcpConnect();
|
|
|
continue;
|
|
|
}
|
|
|
ReadSocket();
|
|
|
}
|
|
|
- catch (ObjectDisposedException e)
|
|
|
+ catch ( ObjectDisposedException e )
|
|
|
{
|
|
|
- TcpError(e);
|
|
|
+ TcpError( e );
|
|
|
}
|
|
|
- catch (IOException e)
|
|
|
+ catch ( IOException e )
|
|
|
{
|
|
|
- TcpError(e);
|
|
|
+ TcpError( e );
|
|
|
}
|
|
|
- catch (ThreadAbortException)
|
|
|
+ catch ( ThreadAbortException )
|
|
|
{
|
|
|
- _OnLog("DISCONNECT REQUEST APPLIED " + Config);
|
|
|
- TcpError(new IOException("DISCONNECT REQUEST"));
|
|
|
+ _OnLog( "DISCONNECT REQUEST APPLIED " + Config );
|
|
|
+ TcpError( new IOException( "DISCONNECT REQUEST" ) );
|
|
|
break;
|
|
|
}
|
|
|
- catch (Exception e)
|
|
|
+ catch ( Exception e )
|
|
|
{
|
|
|
- logger.E(e);
|
|
|
+ logger.E( e );
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -281,44 +278,44 @@ namespace OHVConnector
|
|
|
{
|
|
|
var qo = this.qQ.Dequeue();
|
|
|
|
|
|
- if (qo is QoRecdUnk)
|
|
|
+ if ( qo is QoRecdUnk )
|
|
|
{
|
|
|
- DelegateUtils.Invoke(OnRecdUnk, qo.Arg0, qo.Arg1);
|
|
|
+ DelegateUtils.Invoke( OnRecdUnk, qo.Arg0, qo.Arg1 );
|
|
|
//if (AutoS9Fy)
|
|
|
//{
|
|
|
// var v = qo.Arg0 as SFMessage;
|
|
|
// Send(v.S9Fy);
|
|
|
//}
|
|
|
}
|
|
|
- else if (qo is QoComm)
|
|
|
- DelegateUtils.Invoke(OnContd, Config.ID);
|
|
|
- else if (qo is QoNotComm)
|
|
|
- DelegateUtils.Invoke(OnDiscontd, Config.ID, qo.Arg0);
|
|
|
- else if (qo is QoLog)
|
|
|
- DelegateUtils.Invoke(OnLog, Config.ID, qo.Arg0);
|
|
|
- else if (qo is QoRecd)
|
|
|
- DelegateUtils.Invoke(OnRecd, qo.Arg0);
|
|
|
- else if (qo is QoTimeout)
|
|
|
+ else if ( qo is QoComm )
|
|
|
+ DelegateUtils.Invoke( OnContd, Config.ID );
|
|
|
+ else if ( qo is QoNotComm )
|
|
|
+ DelegateUtils.Invoke( OnDiscontd, Config.ID, qo.Arg0 );
|
|
|
+ else if ( qo is QoLog )
|
|
|
+ DelegateUtils.Invoke( OnLog, Config.ID, qo.Arg0 );
|
|
|
+ else if ( qo is QoRecd )
|
|
|
+ DelegateUtils.Invoke( OnRecd, qo.Arg0 );
|
|
|
+ else if ( qo is QoTimeout )
|
|
|
{
|
|
|
- DelegateUtils.Invoke(OnT3Timeout, qo.Arg0);
|
|
|
+ DelegateUtils.Invoke( OnT3Timeout, qo.Arg0 );
|
|
|
//if (AutoS9Fy)
|
|
|
//{
|
|
|
// var v = qo.Arg0 as SFMessage;
|
|
|
// Send(MessageSupport.MakeS9FX(9, v));
|
|
|
//}
|
|
|
}
|
|
|
- else if (qo is QoSent)
|
|
|
- DelegateUtils.Invoke(OnSent, qo.Arg0);
|
|
|
+ else if ( qo is QoSent )
|
|
|
+ DelegateUtils.Invoke( OnSent, qo.Arg0 );
|
|
|
else
|
|
|
- Assert.Fail("Unk Object {0}", qo);
|
|
|
+ Assert.Fail( "Unk Object {0}", qo );
|
|
|
}
|
|
|
- catch (ThreadAbortException)
|
|
|
+ catch ( ThreadAbortException )
|
|
|
{
|
|
|
break;
|
|
|
}
|
|
|
- catch (Exception e)
|
|
|
+ catch ( Exception e )
|
|
|
{
|
|
|
- logger.E(e);
|
|
|
+ logger.E( e );
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -328,36 +325,41 @@ namespace OHVConnector
|
|
|
#region Read Method
|
|
|
void ReadSocket()
|
|
|
{
|
|
|
- h.ReadByte(); //STX
|
|
|
+ byte stx = 0x0;
|
|
|
+ do
|
|
|
+ {
|
|
|
+ stx = h.ReadByte(); //STX
|
|
|
+ }
|
|
|
+ while ( stx != STX );
|
|
|
|
|
|
string revID = string.Empty;
|
|
|
string sendID = string.Empty;
|
|
|
|
|
|
- if (ModeActive)
|
|
|
+ if ( ModeActive )
|
|
|
{
|
|
|
- revID = h.ReadAscii(2);
|
|
|
- sendID = h.ReadAscii(5);
|
|
|
+ revID = h.ReadAscii( 2 );
|
|
|
+ sendID = h.ReadAscii( 5 );
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- revID = h.ReadAscii(5);
|
|
|
- sendID = h.ReadAscii(2);
|
|
|
+ revID = h.ReadAscii( 5 );
|
|
|
+ sendID = h.ReadAscii( 2 );
|
|
|
}
|
|
|
|
|
|
- if (!this.Config.ID.Equals(revID))
|
|
|
- OnLog(this.Config.ID, $"RevID Not Equals");
|
|
|
+ if ( !this.Config.ID.Equals( revID ) )
|
|
|
+ OnLog( this.Config.ID, $"RevID Not Equals" );
|
|
|
|
|
|
var ocsMeg = new OCSMessage();
|
|
|
ocsMeg.RevID = revID;
|
|
|
ocsMeg.SendID = sendID;
|
|
|
- ocsMeg.Kind = h.ReadAscii(1).ToEnum<eKind>(eKind.Unknown);
|
|
|
- ocsMeg.Tag = h.ReadAscii(4);
|
|
|
- ocsMeg.SubCode = h.ReadAscii(3);
|
|
|
+ ocsMeg.Kind = h.ReadAscii( 1 ).ToEnum<eKind>( eKind.Unknown );
|
|
|
+ ocsMeg.Tag = h.ReadAscii( 4 );
|
|
|
+ ocsMeg.SubCode = h.ReadAscii( 3 );
|
|
|
|
|
|
//CheckSum 을 해야 하나??
|
|
|
ocsMeg.CheckSum = h.ReadByte();
|
|
|
|
|
|
- h.ReadUntil(ETX);
|
|
|
+ h.ReadUntil( ETX );
|
|
|
|
|
|
//Todo: 응답으로 온건지 그냥 보낸건지 분류가 필요. = CheckSum 을 저장 했다가 이용하자.
|
|
|
|
|
|
@@ -368,20 +370,20 @@ namespace OHVConnector
|
|
|
//var head = h.ReadBytes(10);
|
|
|
//var body = h.ReadBytes(len - 10);
|
|
|
|
|
|
- ChgTcpTimeout(true);//무언가 받으면
|
|
|
+ ChgTcpTimeout( true );//무언가 받으면
|
|
|
|
|
|
- LockUtils.NotifyAll(lockLink);//Linktest thread 변환의 notify
|
|
|
+ LockUtils.NotifyAll( lockLink );//Linktest thread 변환의 notify
|
|
|
|
|
|
//var v = new OCSMessage { Header = head, Body = body, IsRecd = true };
|
|
|
//v.Decoding();
|
|
|
|
|
|
- _OnRecd(ocsMeg);
|
|
|
+ _OnRecd( ocsMeg );
|
|
|
}
|
|
|
|
|
|
- void _OnRecd(OCSMessage recd)
|
|
|
+ void _OnRecd( OCSMessage recd )
|
|
|
{
|
|
|
//Alive Check Reply
|
|
|
- if (recd.Kind == eKind.A && !ModeActive) //자동으로 응답을 보낸다. OCS 가 Active 상태
|
|
|
+ if ( recd.Kind == eKind.A && !ModeActive ) //자동으로 응답을 보낸다. OCS 가 Active 상태
|
|
|
{
|
|
|
var reply = new OCSMessage()
|
|
|
{
|
|
|
@@ -392,7 +394,7 @@ namespace OHVConnector
|
|
|
Tag = recd.Tag,
|
|
|
SubCode = recd.SubCode,
|
|
|
};
|
|
|
- Reply(reply);
|
|
|
+ Reply( reply );
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
@@ -403,38 +405,38 @@ namespace OHVConnector
|
|
|
}
|
|
|
|
|
|
//Send 한 Message 의 Reply 로 판단.
|
|
|
- if (this.quzT3.HasId(recd.CheckSum))
|
|
|
+ if ( this.quzT3.HasId( recd.CheckSum ) )
|
|
|
{
|
|
|
//Send 목록에서 삭제한다.
|
|
|
- this.quzT3.Stop(recd.CheckSum);
|
|
|
- this._OnLog($"[Received] - Reply - {recd.LogFormat()}");
|
|
|
+ this.quzT3.Stop( recd.CheckSum );
|
|
|
+ this._OnLog( $"[Received] - Reply - {recd.LogFormat()}" );
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- this.qQ.Enqueue(new QoRecd { Arg0 = recd });
|
|
|
+ this.qQ.Enqueue( new QoRecd { Arg0 = recd } );
|
|
|
}
|
|
|
|
|
|
- void TcpError(Exception e)
|
|
|
+ void TcpError( Exception e )
|
|
|
{
|
|
|
- _OnLog(TcpUtils.GetTcpErrMsg(h.IPClient, e));
|
|
|
+ _OnLog( TcpUtils.GetTcpErrMsg( h.IPClient, e ) );
|
|
|
|
|
|
h.CloseSocket();
|
|
|
- _OnDicontd(e);
|
|
|
+ _OnDicontd( e );
|
|
|
|
|
|
- LockUtils.Wait(1000);//잠시대기.
|
|
|
+ LockUtils.Wait( 1000 );//잠시대기.
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region Write Method
|
|
|
- void TcpWriteMsg(OCSMessage msg)
|
|
|
+ void TcpWriteMsg( OCSMessage msg )
|
|
|
{
|
|
|
- qQ.Enqueue(new QoSent { Arg0 = msg });
|
|
|
+ qQ.Enqueue( new QoSent { Arg0 = msg } );
|
|
|
|
|
|
- this.h.WriteFlush(msg.ToMemoryBuffer().ToBytes);
|
|
|
+ this.h.WriteFlush( msg.ToMemoryBuffer().ToBytes );
|
|
|
}
|
|
|
|
|
|
- void TcpWriteNormalMsg(OCSMessage nm)
|
|
|
+ void TcpWriteNormalMsg( OCSMessage nm )
|
|
|
{
|
|
|
//nm.Encoding();
|
|
|
|
|
|
@@ -452,7 +454,7 @@ namespace OHVConnector
|
|
|
//h.WriteFlush(mb.ToBytes);
|
|
|
}
|
|
|
|
|
|
- void TcpWriteCtrlMsg(OCSMessage ctrl)
|
|
|
+ void TcpWriteCtrlMsg( OCSMessage ctrl )
|
|
|
{
|
|
|
//var mb = new MemoryBuffer(16);
|
|
|
//mb.AppendBeInt(10);
|
|
|
@@ -465,26 +467,26 @@ namespace OHVConnector
|
|
|
//h.WriteFlush(mb.ToBytes);
|
|
|
}
|
|
|
|
|
|
- void SendCtrlMsg(int stype)
|
|
|
+ void SendCtrlMsg( int stype )
|
|
|
{
|
|
|
//Send(new OCSMessage { SType = stype });
|
|
|
}
|
|
|
|
|
|
- public void Send(OCSMessage msg, int after)
|
|
|
+ public void Send( OCSMessage msg, int after )
|
|
|
{
|
|
|
- if (after > 0)
|
|
|
- TimerUtils.Once(after, Send, msg);
|
|
|
+ if ( after > 0 )
|
|
|
+ TimerUtils.Once( after, Send, msg );
|
|
|
else
|
|
|
- Send(msg);
|
|
|
+ Send( msg );
|
|
|
}
|
|
|
|
|
|
- public void Send(OCSMessage msg)
|
|
|
+ public void Send( OCSMessage msg )
|
|
|
{
|
|
|
//msg.Id = Config.ID;
|
|
|
|
|
|
- if (!Connected)
|
|
|
+ if ( !Connected )
|
|
|
{
|
|
|
- _OnLog("Send fail not connected" + msg.LogFormat());
|
|
|
+ _OnLog( "Send fail not connected" + msg.LogFormat() );
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
@@ -497,13 +499,13 @@ namespace OHVConnector
|
|
|
qqW.Enqueue( msg );
|
|
|
}
|
|
|
|
|
|
- if (this.quzT3.HasId(msg.GetCheckSum()))
|
|
|
+ if ( this.quzT3.HasId( msg.GetCheckSum() ) )
|
|
|
{
|
|
|
- _OnLog("quzT3 Has ID" + msg.LogFormat());
|
|
|
+ _OnLog( "quzT3 Has ID" + msg.LogFormat() );
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- this.quzT3.StartOnce(Config.T3 * ConstUtils.ONE_SECOND, msg.GetCheckSum(), msg);
|
|
|
+ this.quzT3.StartOnce( Config.T3 * ConstUtils.ONE_SECOND, msg.GetCheckSum(), msg );
|
|
|
//if (msg.CtrlMsg)
|
|
|
//{
|
|
|
// if (msg.CtrlSelectReq || msg.CtrlLinkReq)
|
|
|
@@ -520,42 +522,42 @@ namespace OHVConnector
|
|
|
// msg.Systembyte = Interlocked.Increment(ref sysbyte);
|
|
|
//}
|
|
|
|
|
|
- qqW.Enqueue(msg);
|
|
|
+ qqW.Enqueue( msg );
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 응답을 보낼 때 사용.
|
|
|
/// </summary>
|
|
|
/// <param name="msg"></param>
|
|
|
- public void Reply(OCSMessage msg)
|
|
|
+ public void Reply( OCSMessage msg )
|
|
|
{
|
|
|
- if (!Connected)
|
|
|
+ if ( !Connected )
|
|
|
{
|
|
|
- _OnLog("Reply fail not connected" + msg.LogFormat());
|
|
|
+ _OnLog( "Reply fail not connected" + msg.LogFormat() );
|
|
|
return;
|
|
|
}
|
|
|
msg.RevID = Config.HostID;
|
|
|
msg.SendID = Config.ID;
|
|
|
|
|
|
- qqW.Enqueue(msg);
|
|
|
+ qqW.Enqueue( msg );
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region HelpMothed
|
|
|
- void ChgTcpTimeout(bool infinite)
|
|
|
+ void ChgTcpTimeout( bool infinite )
|
|
|
{
|
|
|
- if (h.Connected)
|
|
|
+ if ( h.Connected )
|
|
|
{
|
|
|
- if (infinite)
|
|
|
+ if ( infinite )
|
|
|
{
|
|
|
- if (h.Socket.ReceiveTimeout != Timeout.Infinite)
|
|
|
- h.ChangeRecvTimeout(Timeout.Infinite);
|
|
|
+ if ( h.Socket.ReceiveTimeout != Timeout.Infinite )
|
|
|
+ h.ChangeRecvTimeout( Timeout.Infinite );
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- if (Config.LinkOn)
|
|
|
- h.ChangeRecvTimeout(Config.T6 * ConstUtils.ONE_SECOND);
|
|
|
+ if ( Config.LinkOn )
|
|
|
+ h.ChangeRecvTimeout( Config.T6 * ConstUtils.ONE_SECOND );
|
|
|
}
|
|
|
}
|
|
|
}
|