示例#1
0
        public string Translate(byte id, out MoreHandler handler)
        {
            string code = more.Translate(id);

            handler = more.GetHandler(code);

            return(code);
        }
示例#2
0
        public void SendExtension(PeerHash peer, string extension, byte[] payload)
        {
            CoordinatorEntry entry = context.Collection.Find(peer);

            if (entry != null)
            {
                byte        identifier = entry.More.Translate(extension);
                Extended    extended   = new Extended(identifier, payload);
                MoreHandler handler    = context.Facts.GetHandler(extension);

                context.Hooks.SendExtended(entry.Peer, extended);
                context.Hooks.CallExtensionDataSent(entry.Peer, extension, payload.Length);
                handler.OnMessageSent(context.Parameters.Hash, entry.Peer, payload);
            }
        }
示例#3
0
 public void Add(string code, MoreHandler handler)
 {
     byId.Add((byte)(byId.Count + 1), code);
     byCode.Add(code, (byte)(byCode.Count + 1));
     handlers.Add(code, handler);
 }