ToDictionary() публичный Метод

public ToDictionary ( ) : IDictionary
Результат IDictionary
Пример #1
0
        override public void Start()
        {
            ProtocolLog.WriteIf(ProtocolLog.LinkDebug,
                                String.Format("{0}: Starting Connector: {1}, {2}",
                                              _local_node.Address, _sender, State));
            AbortCheck ac = _abort.Value;

            if (ac != null)
            {
                if (ac(this))
                {
                    //We are no longer needed:
                    QueueCloseHandler(null, null);
                    return;
                }
            }

            RpcManager rpc = _local_node.Rpc;

            Channel results = new Channel();

            results.EnqueueEvent += this.EnqueueHandler;
            results.CloseEvent   += this.QueueCloseHandler;
            try {
                rpc.Invoke(_sender, results, "sys:ctm.ConnectTo", _ctm.ToDictionary());
            }
            catch {
                //Looks like the _sender had some problem:
                QueueCloseHandler(null, null);
            }
        }
Пример #2
0
        /**
         * This is a method for use with the RpcManager.  Remote
         * nodes can call the "sys:ctm.ConnectTo" method to
         * reach this method
         */
        public IDictionary ConnectTo(IDictionary ht)
        {
            ConnectToMessage ctm_req = new ConnectToMessage(ht);
            //Console.Error.WriteLine("[{0}.ConnectTo({1})]", _n.Address, ctm_req);
            NodeInfo target = ctm_req.Target;

            if (_n.Address.Equals(target.Address))
            {
                throw new Exception("Trying to connect to myself!");
            }
            string contype = ctm_req.ConnectionType;
            Linker l       = new Linker(_n, target.Address, target.Transports, contype, ctm_req.Token);

            //Here we start the job:
            _n.TaskQueue.Enqueue(l);
            ConnectToMessage resp = GetCtmResponseTo(ctm_req);

            //Console.Error.WriteLine("[{0}.ConnectTo()->{1}]", _n.Address, resp);
            return(resp.ToDictionary());
        }
Пример #3
0
        public void HTRoundTrip(ConnectToMessage ctm)
        {
            ConnectToMessage ctm2 = new ConnectToMessage(ctm.ToDictionary());

            Assert.AreEqual(ctm, ctm2, "CTM HT Roundtrip");
        }
Пример #4
0
 public void HTRoundTrip(ConnectToMessage ctm) {
   ConnectToMessage ctm2 = new ConnectToMessage( ctm.ToDictionary() );
   Assert.AreEqual(ctm, ctm2, "CTM HT Roundtrip");
 }