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); }
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; }
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); }
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; }
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; }
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; }
//protected ICircularBuffer<NetworkData> UnreadMessages = new ConcurrentCircularBuffer<NetworkData>(1000); protected RefactorResponseChannel(ReactorBase reactor, RefactorRequestChannel request) : this(reactor, request, request.RemoteHost) { }
public TcpReactorResponseChannel(ReactorBase reactor, Socket outboundSocket, IPEndPoint endPoint, NetworkEventLoop eventLoop, int bufferSize = NetworkConstants.DEFAULT_BUFFER_SIZE) : base(reactor, outboundSocket, endPoint, eventLoop) { }
protected RefactorRequestChannel(ReactorBase reactor, string controlCode) : this(reactor, reactor.LocalEndpoint, controlCode) { }
public RefactorProxyResponseChannel(ReactorBase reactor, RefactorRequestChannel request, INode endPoint) : base(reactor, request, endPoint) { }
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) { }
public TcpReactorResponseChannel(ReactorBase reactor, Socket outboundSocket, IPEndPoint endPoint, NetworkEventLoop eventLoop, int bufferSize = NetworkConstants.DEFAULT_BUFFER_SIZE) : base(reactor, outboundSocket, endPoint, eventLoop) { }
public TcpReactorResponseChannel(ReactorBase reactor, Socket outboundSocket, NetworkEventLoop eventLoop, int bufferSize = NetworkConstants.DEFAULT_BUFFER_SIZE) : this(reactor, outboundSocket, (IPEndPoint)outboundSocket.RemoteEndPoint, eventLoop, bufferSize) { }
public FileReadRequestChannel(ReactorBase reactor, INode endPoint, string controlCode) : base(reactor, endPoint, controlCode) { packet = new SHSerialPacket(-1); }
public RefactorProxyRequestChannel(ReactorBase reactor, INode endPoint, string controlCode) : base(reactor, endPoint, controlCode) { this.DefaultTaskInterval = NetworkConstants.DefaultTaskInterval; this.DefaultResendCount = NetworkConstants.DefaultTaskCount; }
public Coroutine1(ReactorBase reactor) { this.reactor = reactor; }
public RefactorProxyRequestChannel(ReactorBase reactor, INode endPoint, string controlCode) : base(reactor, endPoint, controlCode) { }
///// <summary> ///// ErLangLinkCase 跟云主机Erlang进行通信【30S】 ///// </summary> //private ErLangLinkCase linkCase = null; public ProtocolUT(string ProtocolName, ReactorBase reactor) : base(reactor) { }
public FileWriteRequestChannel(ReactorBase reactor, INode endPoint, string controlCode) : base(reactor, endPoint, controlCode) { }
public TcpReactorResponseChannel(ReactorBase reactor, Socket outboundSocket, NetworkEventLoop eventLoop, int bufferSize = NetworkConstants.DEFAULT_BUFFER_SIZE) : this(reactor, outboundSocket, (IPEndPoint) outboundSocket.RemoteEndPoint, eventLoop, bufferSize) { }
public ComplexRequestChannel(ReactorBase reactor, List <string> ListeningTaskIds) : this(reactor, null, ListeningTaskIds) { }
protected ReactorResponseChannel(ReactorBase reactor, Socket outboundSocket, NetworkEventLoop eventLoop) : this(reactor, outboundSocket, (IPEndPoint)outboundSocket.RemoteEndPoint, eventLoop) { }
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) { }
public FileWriteRequestChannel(ReactorBase reactor, string controlCode) : this(reactor, null, controlCode) { }
public BroadcastSearchRequest(ReactorBase reactor) : this(reactor, null) { }
public ReactorProxyResponseChannel(ReactorBase reactor, Socket outboundSocket, IPEndPoint endPoint, NetworkEventLoop eventLoop) : base(reactor, outboundSocket, endPoint, eventLoop) { }
public BroadcastSearchRequest(ReactorBase reactor, INode endPoint) : base(reactor, endPoint, ProtocolConst.APP_BROADCAST_SEARCH_NEW_HOST.ToString()) { }
public ComplexRequestChannel(ReactorBase reactor, INode endPoint, List <string> ListeningTaskIds) : base(reactor, endPoint, ListeningTaskIds.FirstOrDefault().ToString()) { ListenerTaskIdList.AddRange(ListeningTaskIds); ProtocolProxyAgent.Instance().AddDataPointListener(this); }
public DefaultResponse(ReactorBase reactor) : this(reactor, null) { Receive += ProtocolProxyAgent.Instance().DataPointListener_Receive; }