public void Connect(IStreamingSource streamingSource) { _stop = false; byte[] readBuffer = new byte[READ_BUFFER_SIZE]; byte[] buffer = new byte[BUFFER_SIZE]; int offset = 0; streamingSource.Connect(); using (Stream stream = streamingSource.GetStream()) { do { int read = stream.Read(readBuffer, 0, readBuffer.Length); if (read != 0) { //from readbuffer to buffer Array.Copy(readBuffer, 0, buffer, offset, read); int parsed = Parse(buffer, read + offset); offset = offset + read - parsed; //offset parset bytes Array.Copy(buffer, parsed, buffer, 0, offset); } } while (!_stop); } }
public SpanStreamingTarget(IStreamingSource <IEnumerable <Span> > streamingSource, IServiceProvider serviceProvider, IOptions <InMemoryStreamingOptions> options, ILogger <SpanStreamingTarget> logger) { _streamingSource = streamingSource; _options = options.Value; _serviceProvider = serviceProvider; _logger = logger; }
public InMemorySpanProducer(IStreamingSource <IEnumerable <Span> > streamingSource) { _streamingSource = streamingSource ?? throw new ArgumentNullException(nameof(streamingSource)); }
public InMemoryStreamingService(IStreamingSource <IEnumerable <Span> > streamingSource, IEnumerable <IStreamingTarget> streamingTargets) { _streamingSource = streamingSource; _streamingTargets = streamingTargets; }
public ServiceStreamingTarget(IStreamingSource <IEnumerable <Span> > streamingSource, IServiceStorage serviceStorage, ILogger <SpanStreamingTarget> logger) { _logger = logger; _streamingSource = streamingSource; _serviceStorage = serviceStorage; }