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);
            }
        }
Esempio n. 2
0
 public SpanStreamingTarget(IStreamingSource <IEnumerable <Span> > streamingSource, IServiceProvider serviceProvider, IOptions <InMemoryStreamingOptions> options, ILogger <SpanStreamingTarget> logger)
 {
     _streamingSource = streamingSource;
     _options         = options.Value;
     _serviceProvider = serviceProvider;
     _logger          = logger;
 }
Esempio n. 3
0
 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;
 }
Esempio n. 5
0
 public ServiceStreamingTarget(IStreamingSource <IEnumerable <Span> > streamingSource, IServiceStorage serviceStorage, ILogger <SpanStreamingTarget> logger)
 {
     _logger          = logger;
     _streamingSource = streamingSource;
     _serviceStorage  = serviceStorage;
 }