public override async Task SubscribeForConsumingMessages(AnalogyConsumerMessage request, IServerStreamWriter <AnalogyGRPCLogMessage> responseStream, ServerCallContext context) { _grpcLogConsumer.AddGrpcConsumer(request.Message, responseStream); await responseStream.WriteAsync(new AnalogyGRPCLogMessage { Category = "Server Message", Text = "Connection Established. Streaming old messages (if Any)", Level = AnalogyGRPCLogLevel.Analogy, Date = Timestamp.FromDateTime(DateTime.UtcNow), FileName = "", Id = Guid.NewGuid().ToString(), LineNumber = 0, MachineName = Environment.MachineName, Module = Process.GetCurrentProcess().ProcessName, ProcessId = Process.GetCurrentProcess().Id, Source = "Server Operations", ThreadId = Thread.CurrentThread.ManagedThreadId, User = Environment.UserName }); //var oldMessages = await MessageHistoryContainer.GetOldMessages().ConfigureAwait(false); //if (oldMessages.Any()) //{ // await responseStream.WriteAllAsync(oldMessages); //} try { await AwaitCancellation(context.CancellationToken); } catch (Exception e) { Logger.LogError(e, "Error"); } }
public AnalogyMessageConsumer(string address) { //using var channel = GrpcChannel.ForAddress("http://localhost:6000"); channel = GrpcChannel.ForAddress(address); client = new Analogy.AnalogyClient(channel); AnalogyConsumerMessage m = new AnalogyConsumerMessage { Message = "client" }; _stream = client.SubscribeForConsumingMessages(m); }
public AnalogyMessageConsumer(string address) { channel = new Channel(address, ChannelCredentials.Insecure); client = new Analogy.AnalogyClient(channel); AnalogyConsumerMessage m = new AnalogyConsumerMessage { Message = "client" }; _stream = client.SubscribeForConsumingMessages(m); consumer = Task.Factory.StartNew(GetMessages); }