/// <summary> /// Creates a new <see cref="SynchronizedClientSubscription"/>. /// </summary> /// <param name="parent">Reference to parent.</param> /// <param name="clientID"><see cref="Guid"/> based client connection ID.</param> /// <param name="subscriberID"><see cref="Guid"/> based subscriber ID.</param> /// <param name="compressionModes"><see cref="CompressionModes"/> requested by client.</param> public SynchronizedClientSubscription(DataPublisher parent, Guid clientID, Guid subscriberID, CompressionModes compressionModes) { m_parent = parent; m_clientID = clientID; m_subscriberID = subscriberID; m_compressionModes = compressionModes; m_signalIndexCache = new SignalIndexCache(); m_signalIndexCache.SubscriberID = subscriberID; m_bufferBlockCache = new List <byte[]>(); m_bufferBlockCacheLock = new object(); }
/// <summary> /// Creates a new <see cref="SubscriberAdapter"/>. /// </summary> /// <param name="parent">Reference to parent.</param> /// <param name="clientID"><see cref="Guid"/> based client connection ID.</param> /// <param name="subscriberID"><see cref="Guid"/> based subscriber ID.</param> /// <param name="compressionModes"><see cref="CompressionModes"/> requested by client.</param> public SubscriberAdapter(DataPublisher parent, Guid clientID, Guid subscriberID, CompressionModes compressionModes) { m_parent = parent; ClientID = clientID; SubscriberID = subscriberID; m_compressionModes = compressionModes; m_bufferBlockCache = new(); m_bufferBlockCacheLock = new(); m_tsscSyncLock = new(); m_parent.ClientConnections.TryGetValue(ClientID, out m_connection); if (m_connection is null) { throw new NullReferenceException("Subscriber adapter failed to find associated connection"); } m_connection.SignalIndexCache = new() { SubscriberID = subscriberID }; }
/// <summary> /// Creates a new <see cref="SynchronizedClientSubscription"/>. /// </summary> /// <param name="parent">Reference to parent.</param> /// <param name="clientID"><see cref="Guid"/> based client connection ID.</param> /// <param name="subscriberID"><see cref="Guid"/> based subscriber ID.</param> /// <param name="compressionModes"><see cref="CompressionModes"/> requested by client.</param> public SynchronizedClientSubscription(DataPublisher parent, Guid clientID, Guid subscriberID, CompressionModes compressionModes) { m_parent = parent; m_clientID = clientID; m_subscriberID = subscriberID; m_compressionModes = compressionModes; m_signalIndexCache = new SignalIndexCache(); m_signalIndexCache.SubscriberID = subscriberID; m_bufferBlockCache = new List<byte[]>(); m_bufferBlockCacheLock = new object(); }
public GMBinaryWriter(Stream aStream, CompressionModes aCompressionMode) : base(aStream, Encoding.Default) { CompressionMode = aCompressionMode; }