/// <summary> /// Create a rendezvous endpoint from a <see cref="RemoteExporter"/>. /// </summary> /// <param name="exporter"><see cref="RemoteExporter"/> from which to create endpoint.</param> /// <param name="host">Host name with which to create endpoint.</param> /// <returns>Rendezvous endpoint.</returns> public static Rendezvous.Endpoint ToRendezvousEndpoint(this RemoteExporter exporter, string host) { // Each RemoteExporter is an endpoint emitting one or more streams. var endpoint = new Rendezvous.RemoteExporterEndpoint(host, exporter.Port, exporter.TransportKind); foreach (var m in exporter.Exporter.Metadata) { endpoint.AddStream(new Rendezvous.Stream(m.Name, m.TypeName)); } return(endpoint); }
// entry point for the server. The process can be terminated with process.StandardInput.WriteLine(). private void GenerateData(TransportKind transportKind) { using (var p = Pipeline.Create()) { using (var remote = new RemoteExporter(p, transportKind)) { var exporter = remote.Exporter; var generator = Generators.Range(p, 0, 100, TimeSpan.FromMilliseconds(1)); generator.Write(ServerDataStream, exporter); p.RunAsync(); Console.ReadLine(); } } }