void IMessengerEngine.FilterTopicMsgs(string agentUri, comm.TopicFilterMsg msg) { using (var client = create_client_proxy(agentUri)) { send_message(agentUri, "hub.FilterTopic", () => client.FilterTopicMsgs(msg)); } }
private void update_failure_counters(comm.FilterInfo msg) { Interlocked.Increment(ref _counters.FilterInfoIoMsgFailed); }
private void update_failure_counters(comm.PublishMsg msg) { Interlocked.Increment(ref _counters.PublishMsgIoFailed); var topic = msg.Topic; Interlocked.Increment(ref topic.Details.Counters.IoFailed); if (msg.RetryCount == 0) Interlocked.Increment(ref topic.Details.Counters.MsgNotSent); }
private void retry_io(comm.IoMsg msg) { var retryIt = msg.Retry; for (;;) // do only once { if (retryIt == null) break; if (msg.RetryCount == 0) break; Interlocked.Increment(ref _counters.IoRetry); msg.RetryCount--; retryIt(); return; } Interlocked.Increment(ref _counters.MsgNotSent); }
void IMessengerEngine.SendPublishMsg(string agentUri, comm.PublishMsg msg) { Action sendIt = () => { var proxy = get_agent_proxy(agentUri); proxy.Publish(msg); }; msg.Retry = sendIt; msg.RetryCount = _cachedConfig.Client.PublishRetryCount; sendIt(); Interlocked.Increment(ref _counters.PublishMsgSent); }
void IMessengerEngine.SendHelloMsg(comm.HelloMsg msg) { using (var hub = create_hub_proxy(_hubUri)) { send_message(_hubUri, "client.hello", () => hub.Hello(msg)); } Interlocked.Increment(ref _counters.HelloMsgSent); }
void ISignalsHub.Hello(comm.HelloMsg msg) { // _log.Trace("Client's hello msg no {0} snapshotId {1} from '{2}'", msg.SequentialId, msg.SnapshotId, msg.AgentUri); var now = DateTime.UtcNow; var snapshotId = msg.SnapshotId; Interlocked.Increment(ref _counters.HelloMsgsGot); var agent = _repo.GetAgent(msg.AgentUri); agent.ServiceName = msg.ServiceName; clear_remote_agents_on_first_hello(agent); _repo.SetConsequentSnapshotId(agent, snapshotId, now); var dirtyAgents = _repo.QueryDirtyAgents(agent, snapshotId); if (dirtyAgents.IsEmpty()) return; _log.Info("Hello no={0} snapshotId={1} from '{2}'; agent has {3} dirty agents", msg.SequentialId, snapshotId, msg.AgentUri, dirtyAgents.Length); var cleanAgents = _agents.send_hello_msgs(dirtyAgents, agent, snapshotId); _repo.AgentsAreUpdated(agent, cleanAgents, snapshotId); Interlocked.Add(ref _counters.HelloMsgsSent, cleanAgents.Length); }
private void update_failure_counters(comm.IoMsg msg) { Action<comm.IoMsg> handler; if (!_msg2failureHandler.TryGetValue(msg.GetType(), out handler)) { Interlocked.Increment(ref _counters.UnknownMsgIoFailed); return; } try { handler(msg); } catch (Exception ex) { _log.Warn(ex, "Failed to handle failed message"); } }
public HttpResponseMessage RiZhiYo(string userid,string seeid,string logtick) { string res = ""; BaseService baseservice = new BaseService(); string sqlstr = ""; if (logtick == "0") { sqlstr = "with cte as " + "( " + " select row=row_number()over(order by getdate()), * from WktuserShareUserId where SharePresonid = " + userid.ToString() + "and WktUserId=" + seeid.ToString() + " and WktuserShareUserId.STATE = 0 and WriteTime > " + logtick.ToString() + ") " + " select * from cte where row between " + "1" + " and " + "10"; } else { sqlstr = "with cte as " + "( " + " select row=row_number()over(order by getdate()), * from WktuserShareUserId where SharePresonid = " + userid.ToString() + "and WktUserId=" + seeid.ToString() + " and WktuserShareUserId.STATE = 0 and WriteTime < " + logtick.ToString() + ") " + " select * from cte where row between " + "1" + " and " + "10"; } IList nbhstaff = baseservice.ExecuteSQL(sqlstr); List<RiZhiinfo> stafflist = new List<RiZhiinfo>(); if (nbhstaff != null && nbhstaff.Count > 0) { for (int i = 0; i < nbhstaff.Count; i++) { object[] sf = (object[])nbhstaff[i]; RiZhiinfo st = new RiZhiinfo(); // Personinfo p = new Personinfo(); st.PersonId = sf[3].ToString();//分享人的ID st.PersonName = sf[6].ToString();//分享人的姓名 WkTUser user = new WkTUser(); user = (WkTUser)baseservice.loadEntity(user, Convert.ToInt64(st.PersonId)); long m = user.Kdid.Id; WkTDept dept = new WkTDept(); dept = (WkTDept)baseservice.loadEntity(dept, m); st.PersonDept = dept.KdName;//分享人的部门 st.Logtick = sf[4].ToString(); st.PersonMD5code = user.ImgMD5Code; st.Contenttxt140 = HtmlToReguFormat140(sf[5].ToString());//日志内容去格式前140 //st.ContenttxtAll = sf[5].ToString();//日志全部内容 st.RizhiTime = new DateTime(Convert.ToInt64(sf[4].ToString())).ToString("yyyy年MM月dd日 HH:mm:ss");//日志时间 st.RizhiId = sf[7].ToString(); //日志id st.Imglist = HtmlToReguForimg(sf[5].ToString());//日志图片 List<Comments> q = new List<Comments>(); List<comm> ps = new List<comm>(); IList c = baseservice.loadEntityList("from StaffLog where State=" + (int)IEntity.stateEnum.Normal + "and Id=" + st.RizhiId); if (c != null && c.Count > 0) { foreach (StaffLog n in c) { IList<Comments> r = n.Comments; foreach (Comments s in r) { string sqql = "select u from WkTUser u where u.KuName='" + s.CommentPersonName.Trim() + "'"; WkTUser ww = (WkTUser)baseservice.loadEntityList(sqql)[0]; comm p = new comm(); p.Id = ww.Id.ToString(); p.Na = s.CommentPersonName;//评论人名字 //IList d = baseservice.loadEntityList("from StaffLog where State=" + 758); //foreach(WkTUser d1 in d) //{ // p.Id = d1.Id; //} p.Co = s.Content;//评论内容 p.Commtime = new DateTime(s.TimeStamp).ToString("yyyy年MM月dd日 HH:mm:ss"); ps.Add(p); } } } st.Comments = ps; stafflist.Add(st); } RiZhiAll l = new RiZhiAll(); l.List = stafflist; res = "成功"; string data = JsonTools.ObjectToJson(l); var jsonStr = "{\"Message\":" + "\"" + res + "\"" + "," + "\"data\":" + data + "}"; var result = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(jsonStr, Encoding.UTF8, "text/json") }; return result; } else { res = "没有内容"; string data = "1";//JsonTools.ObjectToJson(l); var jsonStr = "{\"Message\":" + "\"" + res + "\"" + "," + "\"data\":" + data + "}"; var result = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(jsonStr, Encoding.UTF8, "text/json") }; return result; } }
public HttpResponseMessage GetRiZhi2(string userid, string seeid, string logtick) { string res = ""; string sql1 = "select u from WkTUser u where u.KuName='" + userid + "'"; string sql2 = "select u from WkTUser u where u.Id='" + seeid + "'"; string sql3 = "select u.DeptId from Wktuser_M_Dept u where u.WktuserId=" + userid + " and u.State = " + (int)IEntity.stateEnum.Normal; BaseService baseservice = new BaseService(); List<WkTDept> theDepts = new List<WkTDept>(); IList theone = baseservice.loadEntityList(sql3); if (theone != null && theone.Count > 0) { List<RiZhiinfo> stafflist = new List<RiZhiinfo>(); WkTUser user = new WkTUser(); user = (WkTUser)baseservice.loadEntity(user, Convert.ToInt64(seeid)); string m = user.Kdid.Id.ToString(); int flog = 1; for (int i = 0; i < theone.Count; i++) { string a = ""; a = ((WkTDept)theone[i]).Id.ToString(); if (a == m) { flog = 0; string sqlstr = ""; if (logtick == "0") { sqlstr = "with cte as " + "( " + " select row=row_number()over(order by getdate()), * from LOG_T_STAFFLOG where WktUserId=" + seeid.ToString() + " and WriteTime > " + logtick.ToString() + ") " + " select * from cte where row between " + "1" + " and " + "10"; } else { sqlstr = "with cte as " + "( " + " select row=row_number()over(order by getdate()), * from LOG_T_STAFFLOG where WktUserId=" + seeid.ToString() + " and WriteTime < " + logtick.ToString() + ") " + " select * from cte where row between " + "1" + " and " + "10"; } IList one = baseservice.ExecuteSQL(sqlstr); if (one != null && one.Count > 0) { for (int j = 0; j < one.Count; j++) { object[] sf = (object[])one[j]; RiZhiinfo st = new RiZhiinfo(); //// Personinfo p = new Personinfo(); st.PersonId = sf[4].ToString();//分享人的ID WkTUser user1 = new WkTUser(); user1 = (WkTUser)baseservice.loadEntity(user1, Convert.ToInt64(st.PersonId)); st.PersonName = user1.KuLid;//分享人的姓名 //long mm = user1.Kdid.Id; WkTDept dept = new WkTDept(); dept = (WkTDept)baseservice.loadEntity(dept, Convert.ToInt64(m)); st.PersonDept = dept.KdName;//分享人的部门 st.Logtick = sf[3].ToString(); st.PersonMD5code = user1.ImgMD5Code; st.Contenttxt140 = HtmlToReguFormat140(sf[2].ToString());//日志内容去格式前140 ////st.ContenttxtAll = sf[5].ToString();//日志全部内容 st.RizhiTime = new DateTime(Convert.ToInt64(sf[3].ToString())).ToString("yyyy年MM月dd日 HH:mm:ss");//日志时间 st.RizhiId = sf[1].ToString(); //日志id st.Imglist = HtmlToReguForimg(sf[2].ToString());//日志图片 List<Comments> q = new List<Comments>(); List<comm> ps = new List<comm>(); IList c = baseservice.loadEntityList("from StaffLog where State=" + (int)IEntity.stateEnum.Normal + "and Id=" + st.RizhiId); if (c != null && c.Count > 0) { foreach (StaffLog n in c) { IList<Comments> r = n.Comments; foreach (Comments s in r) { string sqql = "select u from WkTUser u where u.KuName='" + s.CommentPersonName.Trim() + "'"; WkTUser ww = (WkTUser)baseservice.loadEntityList(sqql)[0]; comm p = new comm(); p.Id = ww.Id.ToString(); p.Na = s.CommentPersonName;//评论人名字 //IList d = baseservice.loadEntityList("from StaffLog where State=" + 758); //foreach(WkTUser d1 in d) //{ // p.Id = d1.Id; //} p.Co = s.Content;//评论内容 p.Commtime = new DateTime(s.TimeStamp).ToString("yyyy年MM月dd日 HH:mm:ss"); ps.Add(p); } } } st.Comments = ps; stafflist.Add(st); } } } } RiZhiAll l = new RiZhiAll(); l.List = stafflist; res = "成功"; string data = JsonTools.ObjectToJson(l); var jsonStr = "{\"Message\":" + "\"" + res + "\"" + "," + "\"data\":" + data + "}"; var result = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(jsonStr, Encoding.UTF8, "text/json") }; return result; if(flog==1) { return RiZhiYo(userid, seeid, logtick); } } else { return RiZhiYo(userid, seeid, logtick); } }
bool IRemoteDispatcher.FilterTopicMsgs(string target, comm.TopicFilterMsg msg) { _messenger.FilterTopicMsgs(target, msg); Interlocked.Increment(ref _counters.FilterTopicMsgsSent); return true; }
void IRemoteRepo.FilterTopicMsgs(comm.TopicFilterMsg msg, PFilterFunc[] filters) { lock (_mutex) _impl.FilterTopicMsgs(msg, filters); }
void IRemoteRepo.FilterTopicMsgs(comm.TopicFilterMsg msg, PFilterFunc[] filters) { var agent = get_agent(msg.AgentToFilter); if (agent.SnapshotId > msg.SnapshotId) return; if (agent.FilteredTopics == null) agent.FilteredTopics = new List<FilteredTopic>(); var topic = new FilteredTopic { TopicGuid = msg.TopicGuid, TopicName = msg.TopicName, Filters = filters, FilterInfos = msg.Filters }; agent.FilteredTopics.Add(topic); }
private void update_failure_counters(comm.TopicFilterMsg msg) { Interlocked.Increment(ref _counters.TopicFilterMsgIoFailed); }
void IMessengerEngine.FilterTopicMsgs(string agentUri, comm.TopicFilterMsg msg) { var proxy = get_agent_proxy(agentUri); proxy.FilterTopicMsgs(msg); Interlocked.Increment(ref _counters.FilterTopicMsgSent); }
private void update_failure_counters(comm.HeartbeatMsg msg) { Interlocked.Increment(ref _counters.HeartbeatMsgIoFailed); }
void IMessengerEngine.IoFailed(IAgentWriter proxy, comm.IoMsg msg, Exception ex, string at) { Interlocked.Increment(ref _counters.IoFailed); update_failure_counters(msg); var msgType = msg.GetType().Name; _log.Error("Msg ({0}): io error in '{1}' of '{2}' (retryCount={3}) to agent '{4}' (agent will be reconnected); {5}", msg.Guid.AsStr(), at, msgType, msg.RetryCount, msg.AgentUri, ex.Message); var removedAgent = _agents.RemoveAgent(proxy); if (removedAgent == null) return; _connector.DisconnectAgent(removedAgent); retry_io(msg); }
//------------------- public static void game() { // string intf(); string action = Console.ReadLine(); comm line = new comm(action.ToLower()); string main = line.main; string arg = line.getkey(0); //П А С К А Л Ь К Е Й С Н Е Н У Ж О Н switch (line.main.ToLower()) { /*-------------------*/ case "сорт": if (line.ArgsCount == 1) { try { kolbtype a = kolblist.Find(kolbtype => kolbtype.name == line.getkey(0)); if (a != null) { currtype = a; } else { Console.WriteLine("не наиден"); } } catch (Exception e) { Console.WriteLine("не наиден"); } } else { Console.WriteLine("(сорт (имя))"); Console.WriteLine(currtype.name); } break; /*-------------------*/ case "сорта": foreach (kolbtype a in kolblist) { Console.WriteLine($"{a.amount} {a.name} (цена {a.cost})"); } break; /*-------------------*/ case "сделать": try { switch (line.getkey(0)) { case "сорт": kolbtype a = new kolbtype { name = "новоя", cost = 1 }; a.name = line.getkey(1); a.cost = Convert.ToInt32(line.getkey(2)); kolblist.Add(a); break; case "приколюху": break; } } catch (Exception e) { Console.WriteLine("не ьвыьшло........"); } break; /*-------------------*/ case "читы": try { if (line.ArgsCount >= 1) { if (line.getkey(1) == null) { int kolb = Convert.ToInt32(line.getkey(0)); currtype.amount += kolb; } if (line.ArgsCount >= 2) { if (line.getkey(0) == "колбаса") { int numb = Convert.ToInt32(line.getkey(1)); currtype.amount += numb; } if (line.getkey(0) == "деньги") { int numb = Convert.ToInt32(line.getkey(1)); money += numb; } } } } catch (Exception e) { Console.WriteLine("ИДИ НАХУЙ"); } break; /*-------------------*/ case "продать": if (line.getkey(0) == "колбасу") { if (currtype.amount > 0) { sell(); } else { Console.WriteLine("а нечего продавать-то"); } } break; /*-------------------*/ case "колбаса": if (m > 0) { currtype.amount += kpa; if (currtype.amount < 0) { Console.WriteLine("колбасная сингулярность ослаблена"); } } else { Console.WriteLine("нету мяса........"); } break; /*-------------------*/ case "купить": if (line.ArgsCount >= 1) { switch (line.getkey(0)) { case "ножницы": if (money >= 8) { money -= 8; kpa *= 2; Console.WriteLine("куплены"); } else { Console.WriteLine("недостаточьно денег!!!!"); } break; case "мясо": if (money > 0) { if (line.getkey(1) != null) { try { int a = Convert.ToInt32(line.getkey(1)); if (money >= a) { if (a >= 0) { m += a; } else { Console.WriteLine("еггог"); } } else { Console.WriteLine("недостаточьно денег!!!!"); } } catch { Console.WriteLine("еггог"); } } } else { Console.WriteLine("недостаточьно денег!!!!"); } break; } } break; /*-------------------*/ case "чек": Console.WriteLine($"{currtype.amount} колбасы сорта {currtype.name}"); Console.WriteLine($"{money} деняг"); Console.WriteLine($"{m} мяса"); break; /*-------------------*/ case "магазин": Console.WriteLine("тестовыи магазин"); Console.WriteLine("(купить (предмет))"); Console.WriteLine("ножницы - 8 денях"); Console.WriteLine("бумага - 16 денях"); Console.WriteLine("постбинарный конвертер колбасных полей - 32 денях"); break; /*-------------------*/ default: Console.WriteLine("енге"); break; /*оформление by DJ_ikonnikov*/ } game(); }
void comm.ISignalsHub.Hello(comm.HelloMsg msg) { _target.Hello(msg); }