public FileWorkerAgentImpl(IGridFSBucket gridFsBucket, ITransportSender transport, ILogger <FileWorkerAgentImpl> logger) : base(transport, AgentType.FileManager, "", MessageType.FileRequest, MessageType.Unknown) { _logger = logger; _gridFs = gridFsBucket; }
public ETxtAgent(ITransportSender transport, ILogger <ETxtAgent> logger) : base(transport, AgentType.Worker, "ETxt", MessageType.Unknown, MessageType.WorkerTask) { AllowConcurrency = false; _logger = logger; }
public KafkaTransportConsumer(ITransportSender transportSender, IOptions <KafkaConfiguration> options, ILogger <KafkaTransportConsumer> logger) { _transportSender = transportSender; _logger = logger; _configuration = options.Value; }
public DocumentSplitter(ITransportSender transport, IFileWorkerAgent fileWorkerAgent, ILogger <DocumentSplitter> logger) : base(transport, AgentType.Splitter, "", MessageType.Unknown, MessageType.SplitterTask) { _fileWorkerAgent = fileWorkerAgent; _logger = logger; }
public FileWorkerAgentImpl(ITransportSender transport, ILogger <FileWorkerAgentImpl> logger) : base(transport, AgentType.FileManager, "", MessageType.FileRequest, MessageType.CreateFile, MessageType.DeleteFile) { _logger = logger; var client = new MongoClient("mongodb://*****:*****@localhost"); var database = client.GetDatabase("tasks"); _gridFs = new GridFSBucket(database); }
public DbWorkerAgentImpl(ITransportSender transport, ILogger <DbWorkerAgentImpl> logger) : base(transport, AgentType.DbManager, "", MessageType.DbRequest, MessageType.SplitterTask, MessageType.WorkerTask, MessageType.TaskStat) { _logger = logger; var client = new MongoClient("mongodb://*****:*****@localhost"); _taskCollection = client.GetDatabase("tasks").GetCollection <DbTask>("tasks"); }
public UiAgent(IHubContext <AgentHub> agentUiHub, IHubContext <TaskHub> taskUiHub, ILogger <UiAgent> logger, ITransportSender transportSender, IFileWorkerAgent fileWorkerAgent) : base(transportSender, AgentType.Ui, "", MessageType.Unknown, MessageType.Connection, MessageType.WorkerTask, MessageType.TaskStat) { _agentUiHub = agentUiHub; _taskUiHub = taskUiHub; _logger = logger; _fileWorkerAgent = fileWorkerAgent; }
/// <inheritdoc/> public void Connect(ITransportSender sender) { if (_sender != null) { throw new InvalidOperationException("Already connected."); } _sender = sender; _connectedEvent.Set(); }
public ConnectionAnalyzer(ITransportSender sender) : base(sender, AgentType.ConnectionAnalyzer, "", MessageType.ConnectionRequest, MessageType.Connection) { Task.Run(CheckConnectionState); Connections.Add(new ConnectionState { State = AgentState.Online, Who = new Author(this), LastUpdate = DateTime.Now }); }
public DefaultMessageBus( ITransportSender transport, IMessageSerializer messageSerializer, ISubscribeManager subscribeManager, ILoggerFactory loggerFactory ) { _transport = transport ?? throw new ArgumentNullException(nameof(ITransportSender)); _serializer = messageSerializer ?? throw new ArgumentNullException(nameof(IMessageSerializer)); _subscribeManager = subscribeManager ?? throw new ArgumentNullException(nameof(ISubscribeManager)); _logger = loggerFactory.CreateLogger <IMessageBus>(); }
protected AgentAbstract(ITransportSender transport, AgentType type, string subType = "", MessageType rpcType = MessageType.Unknown, params MessageType[] supportedMessage) { Transport = transport; Type = type; RpcMessageType = rpcType; SubType = subType; MachineName = Environment.MachineName; Version = GetType().Assembly.GetName().Version.ToString(); Ip = string.Join(", ", Dns.GetHostAddresses(Dns.GetHostName()) .Where(x => x.AddressFamily == AddressFamily.InterNetwork) .Select(x => x.ToString())); SupportedMessage = supportedMessage; Id = Guid.NewGuid(); State = AgentState.Online; Task.Run(SendHearthBeat); }
/// <inheritdoc/> public void Disconnect(DisconnectedEventArgs e = null) { var didDisconnect = false; if (!_isDisconnecting) { _isDisconnecting = true; try { try { if (_sender != null) { _sender.Close(); _sender.Dispose(); didDisconnect = true; } } #pragma warning disable CA1031 // Do not catch general exception types // As ITransportSender is an extension point, we don't // know what exceptions will be thrown by different implementations // of ITransportSender.Close(). We do want to ensure that Disconnect doesn't // stop the other resource cleanup, so we don't throw any exception. // TODO: Flow ILogger all the way here and start logging these exceptions. catch (Exception) #pragma warning restore CA1031 // Do not catch general exception types { } _sender = null; if (didDisconnect) { _connectedEvent.Reset(); Disconnected?.Invoke(this, e ?? DisconnectedEventArgs.Empty); } } finally { _isDisconnecting = false; } } }
/// <inheritdoc/> public void Disconnect(DisconnectedEventArgs e = null) { var didDisconnect = false; if (!_isDisconnecting) { _isDisconnecting = true; try { try { if (_sender != null) { _sender.Close(); _sender.Dispose(); didDisconnect = true; } } catch (Exception) { } _sender = null; if (didDisconnect) { _connectedEvent.Reset(); Disconnected?.Invoke(this, e ?? DisconnectedEventArgs.Empty); } } finally { _isDisconnecting = false; } } }
public FileActionProcessor(ITransportSender httpSender, string tempDirectory) { _httpSender = httpSender; _tempDirectory = tempDirectory; _filesInTheWork = new ConcurrentDictionary <string, FileActionType>(); }
public void Connect(ITransportSender sender) { throw new NotImplementedException(); }
public TestAgent2(ITransportSender transportSender) : base(transportSender, AgentType.Worker, "", MessageType.TaskRequest, MessageType.SplitterTask) { }
public AdvegoAgent(ITransportSender transport, ILogger <AdvegoAgent> logger) : base(transport, AgentType.Worker, "Advego", MessageType.Unknown, MessageType.WorkerTask) { _logger = logger; AllowConcurrency = false; }