Пример #1
0
 public void AddMSgRecordIntoBuffer(MsgRecord msgRecord)
 {
     if (!GetUsingMsgRecordBuffer.ContainsKey(msgRecord.MsgID))
     {
         GetUsingMsgRecordBuffer.Add(msgRecord.MsgID, msgRecord);
     }
 }
Пример #2
0
        public void AddMsgRecordIntoBuffer(MsgRecordModel _msgRecordModel)
        {
            IList <MsgRecordModel> msgRecordModels = GenerateMsgRecordModel(_msgRecordModel);

            foreach (MsgRecordModel msgRecordModel in msgRecordModels)
            {
                GetUsingMsgRecordBuffer.Add(msgRecordModel);
            }
        }
Пример #3
0
        private string HandlerMsgReturnData(string returnData, bool IsError)
        {
            if (!string.IsNullOrEmpty(returnData))
            {
                MsgRecordModel tempmodel = ExeingMsgRecordModels.Single(t => t.MsgID == returnData);
                if (IsError)
                {
                    GetUsingMsgRecordBuffer.Add(tempmodel);
                }
                ExeingMsgRecordModels.Remove(ExeingMsgRecordModels.Single(t => t.MsgID == returnData));
            }

            return(string.Empty);
        }
Пример #4
0
        public void StopMainThread()
        {
            IsRunning = false;
            if (GetUsingMsgRecordBuffer.Count > 0)
            {
                msgRecordService.BatchSave(GetUsingMsgRecordBuffer);
                GetUsingMsgRecordBuffer.Clear();
            }

            if (GetUnUsingMsgRecordBuffer.Count > 0)
            {
                msgRecordService.BatchSave(GetUnUsingMsgRecordBuffer);
                GetUnUsingMsgRecordBuffer.Clear();
            }
        }
Пример #5
0
        public MsgRecord AddMSgRecordIntoBuffer(MsgRecordModel msgRecordModel)
        {
            MsgRecord msgRecord = new MsgRecord();

            msgRecord.MsgRecipientGroupID = msgRecordModel.MsgRecipientGroupID;
            msgRecord.MsgContent          = msgRecordModel.MsgContent;
            msgRecord.MsgID = msgRecordModel.MsgID;
            msgRecord.MsgRecipientObjectID = msgRecordModel.MsgRecipientObjectID;
            msgRecord.MsgSenderName        = msgRecordModel.MsgSenderName;
            msgRecord.MsgSenderObjectID    = msgRecordModel.MsgSenderObjectID;
            msgRecord.MsgType  = msgRecordModel.MsgType;
            msgRecord.SendTime = msgRecordModel.SendTime;
            GetUsingMsgRecordBuffer.Add(msgRecord);

            return(msgRecord);
        }
Пример #6
0
        private void MainSendMSGThread()
        {
            sendMsgClient = new AsyncSocketClient(_maxSize, _maxSendConnections, CommonVariables.LogTool);
            try
            {
                while (IsRunning)
                {
                    if (GetUsingMsgRecordBuffer.Count > 0)
                    {
                        UsingTagForMsgRecord = !UsingTagForMsgRecord;

                        while (GetUnUsingMsgRecordBuffer.Count > 0)
                        {
                            MsgRecordModel msgRecordModel = GetUnUsingMsgRecordBuffer[0];
                            try
                            {
                                string messageStr = CommonFlag.F_MDSVerifyMCSMSG + CommonVariables.serializer.Serialize(msgRecordModel);
                                //CommonVariables.LogTool.Log("begin send mds " + msgRecordModel.MDS_IP + " port:" + msgRecordModel.MDS_Port + messageStr);
                                sendMsgClient.SendMsg(msgRecordModel.MDS_IP, msgRecordModel.MDS_Port, messageStr, msgRecordModel.MsgID, HandlerMsgReturnData);

                                ExeingMsgRecordModels.Add(msgRecordModel);
                            }
                            catch (Exception ex)
                            {
                                GetUsingMsgRecordBuffer.Add(msgRecordModel);
                                CommonVariables.LogTool.Log(msgRecordModel.MsgID + ex.Message + ex.StackTrace);
                            }
                            GetUnUsingMsgRecordBuffer.RemoveAt(0);
                        }
                    }
                    Thread.Sleep(_sendDelay);
                }
            }
            catch (Exception ex)
            {
                CommonVariables.LogTool.Log(ex.Message + ex.StackTrace);
            }
        }