/// <summary> /// Initializes a new instance of the <see cref="WebSocketDataHandler" /> class. /// </summary> /// <param name="dependencyUtility">The dependency utility.</param> protected WebSocketDataHandler(IDependencyUtility dependencyUtility) { _dependencyUtility = dependencyUtility ?? throw new ArgumentNullException(nameof(dependencyUtility)); Logger = _dependencyUtility.Resolve <ILogger>(); ConnectionManager = _dependencyUtility.Resolve <IWebSocketConnectionManager>(); }
/// <summary> /// Initializes a new instance of the <see cref="RabbitEventedExchangeGenerator" /> class. /// </summary> /// <param name="dependencyUtility">The dependency utility.</param> /// <param name="connectionParameters">The connection parameters.</param> /// <param name="connection">The connection.</param> public RabbitEventedExchangeGenerator(IDependencyUtility dependencyUtility, IParameterList connectionParameters, IConnection connection = null) { _dependencyUtility = dependencyUtility; _logger = _dependencyUtility.Resolve <ILogger>(); _exchangeCache = _dependencyUtility.Resolve <ICacheHandler>().AddCache("rabbitmq-exchanges", CacheService.InMemory, -1); _connection = connection ?? RabbitConnectionGenerator.CreateConnection(_dependencyUtility, connectionParameters); }
/// <summary> /// Initializes this instance. /// </summary> public void Initialize() { if (_extensionLoader == null) { _extensionLoader = _dependencyUtility.Resolve <IExtensionLoader>(); } if (_logger == null) { _logger = _dependencyUtility.Resolve <ILogger>(); } if (_config == null) { _config = _dependencyUtility.Resolve <IConfigurationHandler>(); } if (_connectionManager == null) { _connectionManager = _dependencyUtility.Resolve <IWebSocketConnectionManager>(); } CreateConnectionResources(); CreateRequestResources(); CreateResponseResources(); _isInitialized = true; }
/// <summary> /// Initializes a new instance of the <see cref="DirectMessagingExtension"/> class. /// </summary> /// <param name="extensionName">Name of the extension.</param> /// <param name="dependencyUtility">The dependency utility.</param> public DirectMessagingExtension(string extensionName, IDependencyUtility dependencyUtility) : base(extensionName, dependencyUtility) { this.RegisterAction("SendMessage", SendMessage); _connections = dependencyUtility.Resolve <IWebSocketConnectionManager>(); _queueHandler = dependencyUtility.Resolve <IEventedQueueHandler <ISignal> >(); }
/// <summary> /// Initializes a new instance of the <see cref="RabbitEventedExchange{T}"/> class. /// </summary> /// <param name="exchangeId">The exchange identifier.</param> /// <param name="routeKey">The route key.</param> /// <param name="channel">The channel.</param> /// <param name="dependencyUtility">The dependency utility.</param> public RabbitEventedExchange(string exchangeId, string routeKey, IModel channel, IDependencyUtility dependencyUtility) { ExchangeId = exchangeId; RouteKey = routeKey; Id = exchangeId; _channel = channel; _jss = dependencyUtility.Resolve <JsonSerializerSettings>(); _logger = dependencyUtility.Resolve <ILogger>(); }
/// <summary> /// Initializes a new instance of the <see cref="Extension"/> class. /// </summary> /// <param name="extensionName">Name of the extension.</param> /// <param name="dependencyUtility">The dependency utility.</param> protected Extension(string extensionName, IDependencyUtility dependencyUtility) { Name = extensionName; DependencyUtility = dependencyUtility; Logger = DependencyUtility.Resolve <ILogger>(); Config = DependencyUtility.Resolve <IConfigurationHandler>(); _router = DependencyUtility.Resolve <ISignalRouter>(); }
/// <summary> /// Initializes a new instance of the <see cref="WebSocketConnection" /> class. /// </summary> /// <param name="client">The client.</param> /// <param name="dependencyUtility">The dependency utility.</param> public WebSocketConnection(TcpClient client, IDependencyUtility dependencyUtility) { _client = client; _dependencyUtility = dependencyUtility ?? new DependencyUtility(); _securityContainer = _dependencyUtility.Resolve <ISecurityContainer>() ?? new SecurityContainer(null, SslProtocols.None, false, false, false); _routeTable = _dependencyUtility.Resolve <IRouteTable>() ?? new RouteTable(); _threadHelper = _dependencyUtility.Resolve <IThreadHelper>() ?? new ThreadHelper(); _logger = _dependencyUtility.Resolve <ILogger>() ?? new Logger(); _frameReader = new WebSocketFrameReader(_dependencyUtility); _frameWriter = new WebSocketFrameWriter(_dependencyUtility); }
/// <summary> /// Initializes a new instance of the <see cref="RabbitEventedQueue{T}" /> class. /// </summary> public RabbitEventedQueue(string exchangeId, string queueId, string routeKey, IModel channel, IDependencyUtility dependencyUtility) { _exchangeId = exchangeId; _queueId = queueId; _routekey = routeKey; _channel = channel; _logger = dependencyUtility.Resolve <ILogger>(); _jss = dependencyUtility.Resolve <JsonSerializerSettings>(); AddConsumer(); }
public HttpMetadata(Stream stream, IDependencyUtility dependencyUtility) { _dependencyUtility = dependencyUtility; _logger = _dependencyUtility.Resolve <ILogger>(); Parse(stream); }
/// <summary> /// Creates the connection. /// </summary> /// <param name="dependencyUtility">The dependency utility.</param> /// <param name="connectionParameters">The connection parameters.</param> /// <returns></returns> public static IConnection CreateConnection(IDependencyUtility dependencyUtility, IParameterList connectionParameters) { string host = connectionParameters["Host"]; string virtualHost = connectionParameters["VirtualHost"]; string username = connectionParameters["Username"]; string password = connectionParameters["Password"]; IConnectionFactory connectionFactory = new ConnectionFactory { UserName = username, Password = password, VirtualHost = virtualHost, Endpoint = new AmqpTcpEndpoint(host) }; ILogger logger = dependencyUtility.Resolve <ILogger>(); IConnection connection; try { connection = connectionFactory.CreateConnection(); logger.Debug($"Connected to RabbitMQ service: {host}{virtualHost}"); } catch (Exception exception) { logger.Error(exception); throw; } return(connection); }
/// <summary> /// Initializes a new instance of the <see cref="ConfigurationHandler"/> class. /// </summary> /// <param name="dependencyUtility">The dependency utility.</param> /// <param name="configurationPath">The configuration path.</param> public ConfigurationHandler(IDependencyUtility dependencyUtility, string configurationPath) { _dependencyUtility = dependencyUtility; _logger = dependencyUtility.Resolve <ILogger>(); AddConfigurationFile(configurationPath); }
/// <summary> /// Gets the enum. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="key">The key.</param> /// <returns></returns> public T Get <T>(string key) { if (string.IsNullOrEmpty(key)) { throw new ConfigurationItemMissingException(nameof(key)); } string value = _configuration[key]; Type type = typeof(T); try { if (type.GetTypeInfo().IsEnum) { return((T)System.Enum.Parse(type, value, true)); } return((T)Convert.ChangeType(value, type)); } catch (InvalidCastException ex) { if (_logger == null) { _logger = _dependencyUtility.Resolve <ILogger>(); } _logger.Error(ex); } catch (ArgumentNullException ex) { if (_logger == null) { _logger = _dependencyUtility.Resolve <ILogger>(); } _logger.Error(ex); throw; } return(default(T)); }
/// <summary> /// Initializes a new instance of the <see cref="WebSocketServer"/> class. /// </summary> /// <param name="id">The identifier.</param> /// <param name="host">The host.</param> /// <param name="port">The port.</param> /// <param name="dependencyUtility">The dependency utility.</param> /// <param name="listenerThreads">The listener threads.</param> /// <param name="clientThreadMultiplier">The client thread multiplier.</param> public WebSocketServer(string id, string host, int port, IDependencyUtility dependencyUtility = null, int listenerThreads = 1, int clientThreadMultiplier = 3) { Id = id; Host = host; Port = port; _listenerThreads = listenerThreads; _clientThreadMultiplier = clientThreadMultiplier; _dependencyUtility = dependencyUtility ?? new DependencyUtility(); _logger = _dependencyUtility.Resolve <ILogger>() ?? _dependencyUtility.Register <ILogger>(new Logger()); _securityContainer = _dependencyUtility.Resolve <ISecurityContainer>() ?? _dependencyUtility.Register <ISecurityContainer>(new SecurityContainer(null, SslProtocols.None, false, false, false)); _clientHandler = _dependencyUtility.Resolve <ITcpHandler>() ?? _dependencyUtility.Register <ITcpHandler>(new TcpHandler(IPAddress.Parse(Host), Port)); _connectionManager = _dependencyUtility.Resolve <IWebSocketConnectionManager>() ?? _dependencyUtility.Register <IWebSocketConnectionManager>(new WebSocketConnectionManager(_dependencyUtility)); _threadHelper = _dependencyUtility.Resolve <IThreadHelper>() ?? _dependencyUtility.Register <IThreadHelper>(new ThreadHelper()); _routeTable = _dependencyUtility.Resolve <IRouteTable>() ?? _dependencyUtility.Register <IRouteTable>(BuildRouteTable()); }
/// <summary> /// Initializes a new instance of the <see cref="RedisCache"/> class. /// </summary> /// <param name="connectionString">The connection string.</param> /// <param name="expiryInSeconds">The expiry in seconds.</param> /// <param name="dependencyUtility">The dependency utility.</param> /// <exception cref="CacheConnectionException"></exception> public RedisCache(string connectionString, int expiryInSeconds, IDependencyUtility dependencyUtility) { _dependencyUtility = dependencyUtility; _logger = _dependencyUtility.Resolve <ILogger>(); _redis = ConnectionMultiplexer.Connect(connectionString); _cache = _redis.GetDatabase(); _expiry = new TimeSpan(0, 0, expiryInSeconds); if (_redis.IsConnected) { _logger.Debug("Established Redis connection"); } else { throw new CacheConnectionException(connectionString); } }
/// <summary> /// Initializes a new instance of the <see cref="WebSocketFrameReader"/> class. /// </summary> /// <param name="dependencyUtility">The dependency utility.</param> public WebSocketFrameReader(IDependencyUtility dependencyUtility) { _logger = dependencyUtility.Resolve <ILogger>(); }
/// <summary> /// Initializes a new instance of the <see cref="Default"/> class. /// </summary> /// <param name="dependencyUtility">The dependency utility.</param> public Default(IDependencyUtility dependencyUtility) : base(dependencyUtility) { _extensionLoader = dependencyUtility.Resolve <IExtensionLoader>(); _signalRouter = dependencyUtility.Resolve <ISignalRouter>(); }
/// <summary> /// Initializes a new instance of the <see cref="ExtensionLoader"/> class. /// </summary> /// <param name="dependencyUtility">The dependency utility.</param> public ExtensionLoader(IDependencyUtility dependencyUtility) { _dependencyUtility = dependencyUtility; _logger = _dependencyUtility.Resolve <ILogger>(); _config = _dependencyUtility.Resolve <IConfigurationHandler>(); }