提交 4699d7fa 编写于 作者: cdy816's avatar cdy816

冗余功能修改

上级 814d25a8
...@@ -97,17 +97,6 @@ namespace DBRuntime.RDDC ...@@ -97,17 +97,6 @@ namespace DBRuntime.RDDC
{ {
datas.Retain(); datas.Retain();
//收到异步请求回调数据 //收到异步请求回调数据
if (datas.ReadableBytes == 1)
{
if (datas.ReadByte() == byte.MaxValue)
return;
else
{
Debug.Print("DbClient ProcessData Invailed data");
}
}
else
{
switch (fun) switch (fun)
{ {
case WorkStateFun: case WorkStateFun:
...@@ -118,8 +107,8 @@ namespace DBRuntime.RDDC ...@@ -118,8 +107,8 @@ namespace DBRuntime.RDDC
mRealDataSyncData = datas; mRealDataSyncData = datas;
this.mRealDataSyncEvent.Set(); this.mRealDataSyncEvent.Set();
break; break;
} case byte.MaxValue:
break;
} }
base.ProcessData(fun, datas); base.ProcessData(fun, datas);
......
...@@ -150,9 +150,9 @@ namespace DBRuntime ...@@ -150,9 +150,9 @@ namespace DBRuntime
mSync = new DataSync() { Client = mClient }; mSync = new DataSync() { Client = mClient };
mSync.Start(); mSync.Start();
//mScanThread = new Thread(ThreadPro); mScanThread = new Thread(ThreadPro);
//mScanThread.IsBackground = true; mScanThread.IsBackground = true;
//mScanThread.Start(); mScanThread.Start();
CheckWorkState(); CheckWorkState();
} }
...@@ -195,16 +195,49 @@ namespace DBRuntime ...@@ -195,16 +195,49 @@ namespace DBRuntime
{ {
if (mClient.NeedReConnected) if (mClient.NeedReConnected)
{ {
mClient.Connect(RemoteIp,Port); //mClient.Connect(RemoteIp,Port);
Thread.Sleep(500); //Thread.Sleep(1000);
} }
else else if(mClient.IsConnected)
{ {
CheckRunWorkState();
Thread.Sleep(1000); Thread.Sleep(1000);
} }
} }
} }
private void CheckRunWorkState()
{
try
{
var state = mClient.GetWorkState();
if (state.HasValue)
{
if (state.Value == WorkState.Primary && this.CurrentState == WorkState.Primary)
{
var time = mClient.GetStartTime();
var cc = time > this.StartTime ? WorkState.Primary : WorkState.Standby;
if (cc == WorkState.Standby)
{
SwitchTo(cc);
}
}
else if (state.Value == WorkState.Standby && this.CurrentState == WorkState.Standby)
{
var time = mClient.GetStartTime();
var cc = time > this.StartTime ? WorkState.Primary : WorkState.Standby;
if (cc == WorkState.Primary)
{
SwitchTo(cc);
}
}
}
}
catch
{
}
}
/// <summary> /// <summary>
/// ///
...@@ -317,6 +350,9 @@ namespace DBRuntime ...@@ -317,6 +350,9 @@ namespace DBRuntime
public bool SwitchTo(WorkState state) public bool SwitchTo(WorkState state)
{ {
if (CurrentState == WorkState.Switching) return true; if (CurrentState == WorkState.Switching) return true;
LoggerService.Service.Warn("RDDCManager", "will switch to "+ state);
lock (mLockObj) lock (mLockObj)
{ {
var olds = CurrentState; var olds = CurrentState;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册