public DataLinkFactory(IDataLinkCollectionStore dlcStore, IDataLinkHandler handler, ushort port, X509Certificate2 certificate) { LocalPort = port; _dlcStore = dlcStore; _handler = handler; _listener = new TcpListener(IPAddress.Any, port); _certificate = certificate; _ = ListenAsync(); }
public void Add(string serviceName, IDataLinkHandler handler, string instanceName) { lock (_dict) { if (_dict.ContainsKey(serviceName)) { throw new InvalidOperationException("Dup key."); } _dict.Add(serviceName, new DataLinkCollection(serviceName, handler, instanceName, _port)); } }
internal DataLink(DataLinkCollection dlc, IPEndPoint remote, Stream stream, IDataLinkHandler handler, DataLinkDecoder decoder, DCConnectMessage connectMessage, ReadOnlyMemory <byte> memory) { _dlc = dlc; _stream = stream; _handler = handler; _decoder = decoder; Remote = remote; RemoteName = connectMessage.InstanceName; RemoteListenPort = connectMessage.Port; _inPipe.Writer.WriteAsync(memory); _inPipe.Writer.FlushAsync(); }