internal StompClient( IStompFrameReader reader, IStompFrameWriter writer, TimeSpan? retryInterval = null, bool cascadeDispose = false, bool useRandomNumberGenerator = false) { if(reader.ProtocolVersion != writer.ProtocolVersion) throw new ArgumentException("Reader and writer MUST use the same protocol version."); _cascadeDispose = cascadeDispose; _reader = reader; _writer = writer; _frameObservable = new StompFrameObservable(reader); _frameWriter = new StompFrameWriterWithConfirmation(writer, _frameObservable, retryInterval); if (!useRandomNumberGenerator) { _receiptNumberGenerator = new SequenceNumberGenerator(); _subscriptionNumberGenerator = new SequenceNumberGenerator(); _transactionNumberGenerator = new SequenceNumberGenerator(); } else { _receiptNumberGenerator = new RandomSequenceNumberGenerator(); _subscriptionNumberGenerator = _receiptNumberGenerator; _transactionNumberGenerator = _receiptNumberGenerator; } }
internal StompClient( IStompFrameReader reader, IStompFrameWriter writer, TimeSpan?retryInterval = null, bool cascadeDispose = false, bool useRandomNumberGenerator = false) { if (reader.ProtocolVersion != writer.ProtocolVersion) { throw new ArgumentException("Reader and writer MUST use the same protocol version."); } _cascadeDispose = cascadeDispose; _reader = reader; _writer = writer; _frameObservable = new StompFrameObservable(reader); _frameWriter = new StompFrameWriterWithConfirmation(writer, _frameObservable, retryInterval); if (!useRandomNumberGenerator) { _receiptNumberGenerator = new SequenceNumberGenerator(); _subscriptionNumberGenerator = new SequenceNumberGenerator(); _transactionNumberGenerator = new SequenceNumberGenerator(); } else { _receiptNumberGenerator = new RandomSequenceNumberGenerator(); _subscriptionNumberGenerator = _receiptNumberGenerator; _transactionNumberGenerator = _receiptNumberGenerator; } }
public static Task <Frame> ReadFrameAsync(this IStompFrameReader reader) { return(reader.ReadFrameAsync(CancellationToken.None)); }
/// <summary> /// Constructor. /// </summary> /// <param name="reader">Frame reader to be wrapped.</param> public StompSerialFrameReader(IStompFrameReader reader) { _reader = reader; _serialTaskExecuter = new SerialTaskExecuter <Frame>(); }
/// <summary> /// Constructor. /// </summary> /// <param name="reader">Frame reader to be wrapped.</param> public StompSerialFrameReader(IStompFrameReader reader) { _reader = reader; _serialTaskExecuter = new SerialTaskExecuter<Frame>(); }
/// <summary> /// Constructor. /// </summary> /// <param name="reader">Frame reader.</param> public StompFrameObservable(IStompFrameReader reader) { _observers = new ConcurrentDictionary <IObserver <Frame>, IObserver <Frame> >(); _reader = reader; _status = 0; }
/// <summary> /// Constructor. /// </summary> /// <param name="reader">Frame reader.</param> public StompFrameObservable(IStompFrameReader reader) { _observers = new ConcurrentDictionary<IObserver<Frame>, IObserver<Frame>>(); _reader = reader; _status = 0; }