Ejemplo n.º 1
0
 public SingleRequestChannel(ReactorBase reactor, INode endPoint, string controlCode)
     : base(reactor, endPoint, controlCode)
 {
     Receive      += ProtocolProxyAgent.Instance().DataPointListener_Receive;
     SendCallback += ProtocolProxyAgent.Instance().DataPointListener_Send;
     this.Configure(ConstantConnConfig.ProcessModeRequest);
 }
Ejemplo n.º 2
0
 protected ReactorResponseChannel(ReactorBase reactor, Socket outboundSocket, IPEndPoint endPoint, NetworkEventLoop eventLoop)
 {
     _reactor         = reactor;
     Socket           = outboundSocket;
     Decoder          = _reactor.Decoder.Clone();
     Encoder          = _reactor.Encoder.Clone();
     Allocator        = _reactor.Allocator;
     Local            = reactor.LocalEndpoint.ToNode(reactor.Transport);
     RemoteHost       = NodeBuilder.FromEndpoint(endPoint);
     NetworkEventLoop = eventLoop;
 }
Ejemplo n.º 3
0
 protected ReactorResponseChannel(ReactorBase reactor, Socket outboundSocket, IPEndPoint endPoint, NetworkEventLoop eventLoop)
 {
     _reactor = reactor;
     Socket = outboundSocket;
     Decoder = _reactor.Decoder.Clone();
     Encoder = _reactor.Encoder.Clone();
     Allocator = _reactor.Allocator;
     Local = reactor.LocalEndpoint.ToNode(reactor.Transport);
     RemoteHost = NodeBuilder.FromEndpoint(endPoint);
     NetworkEventLoop = eventLoop;
 }
 public ReactorConnectionAdapter(ReactorBase reactor)
 {
     _reactor            = reactor;
     connectionDocker    = new ConnectionDocker();
     taskDocker          = new TaskManager(this);
     networkDataDocker   = new NetworkDataDocker();
     RemoteHost          = reactor.LocalEndpoint;
     this.protocolEvents = new WaitHandle[3];
     this.protocolEvents[(int)ProtocolEvents.ProtocolExit]     = new ManualResetEvent(false);
     this.protocolEvents[(int)ProtocolEvents.PortReceivedData] = new AutoResetEvent(false);
     this.protocolEvents[(int)ProtocolEvents.TaskArrived]      = new AutoResetEvent(false);
 }
Ejemplo n.º 5
0
        protected RefactorRequestChannel(ReactorBase reactor, INode node, string controlCode)
        {
            _reactor   = reactor;
            Decoder    = _reactor.Decoder.Clone();
            Encoder    = _reactor.Encoder.Clone();
            Allocator  = _reactor.Allocator;
            Local      = reactor.LocalEndpoint;
            RemoteHost = node == null?reactor.LocalEndpoint.Clone() as INode : node;

            this.Created = DateTime.Now;
            Dead         = false;
            ControlCode  = controlCode;
            Timeout      = NetworkConstants.BackoffIntervals[6];
            this.Sender  = new SenderListenser(this);
        }
 protected void Dispose(bool disposing)
 {
     if (!WasDisposed)
     {
         if (disposing)
         {
             Close();
             if (_reactor != null)
             {
                 ((IDisposable)_reactor).Dispose();
                 _reactor = null;
             }
         }
     }
     WasDisposed = true;
 }
Ejemplo n.º 7
0
 protected virtual void Dispose(bool disposing)
 {
     if (!WasDisposed)
     {
         if (disposing)
         {
             Close();
             if (_reactor != null)
             {
                 ((IDisposable)_reactor).Dispose();
                 _reactor = null;
             }
             if (this.taskDocker != null)
             {
                 this.taskDocker.Dispose();
             }
         }
     }
     WasDisposed = true;
 }
Ejemplo n.º 8
0
        public async Task TwoReactors_Threads()
        {
            var repo     = ReactorRepository.CreateLocal(1, 0.01f, useTasks: false);
            var reactors = new ReactorBase[] { new Reactor1("1"),
                                               new Reactor1("2") };

            repo.Add(reactors[0]);
            repo.Add(reactors[1]);

            for (int i = 0; i < 20; i++)
            {
                reactors[i % 2].Enqueue(null, new Event1(i.ToString()));
                await Task.Delay(10);
            }

            await Task.Delay(30);

            Assert.Equal("18", ((Reactor1)reactors[0]).State.Data);
            Assert.Equal("19", ((Reactor1)reactors[1]).State.Data);
        }
 protected RefactorResponseChannel(ReactorBase reactor, RefactorRequestChannel request, INode node)
 {
     _reactor       = reactor;
     requestChannel = request;
     Decoder        = _reactor.Decoder.Clone();
     Encoder        = _reactor.Encoder.Clone();
     Allocator      = _reactor.Allocator;
     Local          = reactor.LocalEndpoint;
     if (node != null)
     {
         RemoteHost = node;
     }
     else
     {
         RemoteHost = reactor.LocalEndpoint.Clone() as INode;
     }
     Timeout      = NetworkConstants.BackoffIntervals[6];
     this.Created = DateTime.Now;
     Dead         = false;
 }
Ejemplo n.º 10
0
        //protected ICircularBuffer<NetworkData> UnreadMessages = new ConcurrentCircularBuffer<NetworkData>(1000);

        protected RefactorResponseChannel(ReactorBase reactor, RefactorRequestChannel request)
            : this(reactor, request, request.RemoteHost)
        {
        }
Ejemplo n.º 11
0
 public TcpReactorResponseChannel(ReactorBase reactor, Socket outboundSocket, IPEndPoint endPoint,
     NetworkEventLoop eventLoop, int bufferSize = NetworkConstants.DEFAULT_BUFFER_SIZE)
     : base(reactor, outboundSocket, endPoint, eventLoop)
 {
 }
Ejemplo n.º 12
0
 protected RefactorRequestChannel(ReactorBase reactor, string controlCode)
     : this(reactor, reactor.LocalEndpoint, controlCode)
 {
 }
 public RefactorProxyResponseChannel(ReactorBase reactor, RefactorRequestChannel request, INode endPoint)
     : base(reactor, request, endPoint)
 {
 }
Ejemplo n.º 14
0
 protected ReactorResponseChannel(ReactorBase reactor, Socket outboundSocket, NetworkEventLoop eventLoop)
     : this(reactor, outboundSocket, (IPEndPoint)outboundSocket.RemoteEndPoint, eventLoop)
 {
 }
 public ReactorProxyResponseChannel(ReactorBase reactor, Socket outboundSocket, IPEndPoint endPoint,
                                    NetworkEventLoop eventLoop)
     : base(reactor, outboundSocket, endPoint, eventLoop)
 {
 }
Ejemplo n.º 16
0
 public TcpReactorResponseChannel(ReactorBase reactor, Socket outboundSocket, IPEndPoint endPoint, NetworkEventLoop eventLoop, int bufferSize = NetworkConstants.DEFAULT_BUFFER_SIZE)
     : base(reactor, outboundSocket, endPoint, eventLoop)
 {
 }
Ejemplo n.º 17
0
 public TcpReactorResponseChannel(ReactorBase reactor, Socket outboundSocket, NetworkEventLoop eventLoop, int bufferSize = NetworkConstants.DEFAULT_BUFFER_SIZE)
     : this(reactor, outboundSocket, (IPEndPoint)outboundSocket.RemoteEndPoint, eventLoop, bufferSize)
 {
 }
Ejemplo n.º 18
0
 public FileReadRequestChannel(ReactorBase reactor, INode endPoint, string controlCode)
     : base(reactor, endPoint, controlCode)
 {
     packet = new SHSerialPacket(-1);
 }
Ejemplo n.º 19
0
 public RefactorProxyRequestChannel(ReactorBase reactor, INode endPoint, string controlCode)
     : base(reactor, endPoint, controlCode)
 {
     this.DefaultTaskInterval = NetworkConstants.DefaultTaskInterval;
     this.DefaultResendCount  = NetworkConstants.DefaultTaskCount;
 }
Ejemplo n.º 20
0
 public Coroutine1(ReactorBase reactor)
 {
     this.reactor = reactor;
 }
 public RefactorProxyRequestChannel(ReactorBase reactor, INode endPoint, string controlCode)
     : base(reactor, endPoint, controlCode)
 {
 }
Ejemplo n.º 22
0
        ///// <summary>
        ///// ErLangLinkCase 跟云主机Erlang进行通信【30S】
        ///// </summary>
        //private ErLangLinkCase linkCase = null;

        public ProtocolUT(string ProtocolName, ReactorBase reactor)
            : base(reactor)
        {
        }
Ejemplo n.º 23
0
 public FileWriteRequestChannel(ReactorBase reactor, INode endPoint, string controlCode)
     : base(reactor, endPoint, controlCode)
 {
 }
Ejemplo n.º 24
0
 public TcpReactorResponseChannel(ReactorBase reactor, Socket outboundSocket, NetworkEventLoop eventLoop,
     int bufferSize = NetworkConstants.DEFAULT_BUFFER_SIZE)
     : this(reactor, outboundSocket, (IPEndPoint) outboundSocket.RemoteEndPoint, eventLoop, bufferSize)
 {
 }
Ejemplo n.º 25
0
 public ComplexRequestChannel(ReactorBase reactor, List <string> ListeningTaskIds)
     : this(reactor, null, ListeningTaskIds)
 {
 }
Ejemplo n.º 26
0
        protected ReactorResponseChannel(ReactorBase reactor, Socket outboundSocket, NetworkEventLoop eventLoop)
            : this(reactor, outboundSocket, (IPEndPoint)outboundSocket.RemoteEndPoint, eventLoop)
        {

        }
Ejemplo n.º 27
0
 public DefaultResponse(ReactorBase reactor, RefactorRequestChannel request)
     : base(reactor, request)
 {
 }
 public RefactorProxyRequestChannel(ReactorBase reactor, string controlCode)
     : this(reactor, reactor.LocalEndpoint, controlCode)
 {
 }
 public RefactorProxyResponseChannel(ReactorBase reactor, RefactorRequestChannel request)
     : this(reactor, request, reactor.LocalEndpoint)
 {
 }
Ejemplo n.º 30
0
 public FileWriteRequestChannel(ReactorBase reactor, string controlCode)
     : this(reactor, null, controlCode)
 {
 }
Ejemplo n.º 31
0
 public BroadcastSearchRequest(ReactorBase reactor)
     : this(reactor, null)
 {
 }
Ejemplo n.º 32
0
 public ReactorProxyResponseChannel(ReactorBase reactor, Socket outboundSocket, IPEndPoint endPoint,
     NetworkEventLoop eventLoop)
     : base(reactor, outboundSocket, endPoint, eventLoop)
 {
 }
Ejemplo n.º 33
0
 public BroadcastSearchRequest(ReactorBase reactor, INode endPoint)
     : base(reactor, endPoint, ProtocolConst.APP_BROADCAST_SEARCH_NEW_HOST.ToString())
 {
 }
Ejemplo n.º 34
0
 public ComplexRequestChannel(ReactorBase reactor, INode endPoint, List <string> ListeningTaskIds)
     : base(reactor, endPoint, ListeningTaskIds.FirstOrDefault().ToString())
 {
     ListenerTaskIdList.AddRange(ListeningTaskIds);
     ProtocolProxyAgent.Instance().AddDataPointListener(this);
 }
Ejemplo n.º 35
0
 public DefaultResponse(ReactorBase reactor)
     : this(reactor, null)
 {
     Receive += ProtocolProxyAgent.Instance().DataPointListener_Receive;
 }