public RaftNode(Config cfg, IRpcSender sender = null) { this.sender = sender ?? new HttpRpcClient(); Configuration = cfg; var stateMachine = new T(); engine = new RaftEngine(Configuration, stateMachine, this); }
public void SearchFriends(string query, IRpcSender sender) { foreach (SocialUser friend in _node.Friends.Values) { if (_node.IsAllowed(friend.Address)) { sender.SendRpcMessage(friend.Address, "SearchMapping", query); } } }
public string SearchMapping(string address, string query, IRpcSender sender) { foreach (string alias in _mappings.Keys) { if (Regex.IsMatch(alias, query, RegexOptions.IgnoreCase)) { DnsMapping mapping = _mappings[alias]; sender.SendRpcMessage(address, "AddTmpMapping", mapping.ToString()); } } return(_node.Address); }