Ejemplo n.º 1
0
        /// <summary>
        /// Disconnects, without closing. Upon re-connection all existing subscriptions
        /// and publications will be restablished.
        /// </summary>
        public async Task Disconnect()
        {
            if (log.IsDebugEnabled)
            {
                log.Debug("Disconnecting from " + URL);
            }

            if (CONNECTED == Interlocked.CompareExchange(ref _isConnected, NOT_CONNECTED, CONNECTED))
            {
                await _ctrl.DisconnectAsync();

                _ctrl = null;
                OnDisconnect(new OnDisconnectEventArgs(URL));
                if (log.IsDebugEnabled)
                {
                    log.Debug("Disconnected from " + URL);
                }
            }
            else
            {
                if (log.IsWarnEnabled)
                {
                    log.Warn("Unable to disconnect from " + URL);
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Connect to the server. If already connected an exception is thrown.
        /// </summary>
        /// <param name="srv">Server URL</param>
        /// <param name="authToken">Authorization token.</param>
        public async Task Connect(string srv, string authToken)
        {
            if (log.IsDebugEnabled)
            {
                log.Debug("Connecting to " + srv);
            }

            if (!IsClosed && NOT_CONNECTED == Interlocked.CompareExchange(ref _isConnected, CONNECTED, NOT_CONNECTED))
            {
                URL   = srv;
                _ctrl = new SControlLink();
                await _ctrl.ConnectAsync(srv, authToken);

                OnConnect(new OnConnectEventArgs(URL));
                if (log.IsDebugEnabled)
                {
                    log.Debug("Connected to " + srv);
                }
            }
            else
            {
                if (log.IsWarnEnabled)
                {
                    log.Warn("Unable to connect to " + srv);
                }
            }
        }
Ejemplo n.º 3
0
        private bool disposedValue = false; // To detect redundant calls

        protected virtual void Dispose(bool disposing)
        {
            if (!disposedValue)
            {
                if (disposing)
                {
                    // TODO: dispose managed state (managed objects).
                    this.ctrlLink.Dispose();
                }

                // TODO: free unmanaged resources (unmanaged objects) and override a finalizer below.
                // TODO: set large fields to null.
                this.ctrlLink = null;
                disposedValue = true;
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Disconnects, without closing. Upon re-connection all existing subscriptions
        /// and publications will be restablished.
        /// </summary>
        public async Task Disconnect()
        {
            System.Diagnostics.Debug.WriteLine($"Disconnecting from {URL}");

            if (CONNECTED == Interlocked.CompareExchange(ref _isConnected, NOT_CONNECTED, CONNECTED))
            {
                await _ctrl.DisconnectAsync();

                _ctrl = null;
                OnDisconnect(new OnDisconnectEventArgs(URL));
                System.Diagnostics.Debug.WriteLine($"Disconnected from {URL}");
            }
            else
            {
                System.Diagnostics.Debug.WriteLine($"Unable to disconnect from {URL}");
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Connect to the server. If already connected an exception is thrown.
        /// </summary>
        /// <param name="srv">Server URL</param>
        /// <param name="authToken">Authorization token.</param>
        public async Task <bool> Connect(string srv, string authToken)
        {
            System.Diagnostics.Debug.WriteLine($"Connecting to {srv}");
            bool connected = false;

            if (!IsClosed && NOT_CONNECTED == Interlocked.CompareExchange(ref _isConnected, CONNECTED, NOT_CONNECTED))
            {
                URL   = srv;
                _ctrl = new SControlLink();
                await _ctrl.ConnectAsync(srv, authToken);

                OnConnect(new OnConnectEventArgs(URL));
                System.Diagnostics.Debug.WriteLine($"Connected to {srv}");
                connected = true;
            }
            else
            {
                System.Diagnostics.Trace.WriteLine($"Unable to connect to {srv}");
            }
            return(connected);
        }
Ejemplo n.º 6
0
 public Runtime()
 {
     ctrlLink = new SControlLink();
 }
Ejemplo n.º 7
0
 public Runtime()
 {
     ctrlLink = new SControlLink ();
 }
Ejemplo n.º 8
0
        protected virtual void Dispose(bool disposing)
        {
            if (!disposedValue)
            {
                if (disposing)
                {
                    // TODO: dispose managed state (managed objects).
                    this.ctrlLink.Dispose();
                }

                // TODO: free unmanaged resources (unmanaged objects) and override a finalizer below.
                // TODO: set large fields to null.
                this.ctrlLink = null;
                disposedValue = true;
            }
        }