public void Invoke(IMessageSender sender, Message message) { foreach(var listener in Listeners) { listener.Value.Invoke(listener.Key, sender, message); } }
static MessageService() { if (!MessagingEnabled) return; var unitySection = ConfigurationManager.GetSection("unity"); if (unitySection == null) { log.Error("Required unity configuration for Message Sender"); return; } try { var unity = new UnityContainer().LoadConfiguration(unityContainerName); if (unity.IsRegistered<IMessageSender>()) { sender = unity.Resolve<IMessageSender>(); } else { log.Error("Required unity configuration for Message Sender"); } } catch(Exception ex) { log.Error("Error while resolving Message Sender: " + ex); } }
public ProtocolChoicePromptHandler( IMessageSender messageSender, ConsoleService consoleService) { this.messageSender = messageSender; this.consoleService = consoleService; }
public Program(IMessageSender sender, IStoreEvents store, NuclearStorage storage) { this.sender = new SenderDecorator(sender); this.store = store; this.storage = storage; reader = new ConsoleReader(); }
public InteractionProcessor(IMessageSender sender, LifelineViewport viewport, NuclearStorage storage) { _sender = sender; _viewport = viewport; _storage = storage; CurrentStoryId = new StoryId(Guid.Empty); }
public EventStoreBusPublisher(IMessageSender sender, IPendingEventsQueue queue) { this.sender = sender; this.queue = queue; this.enqueuedKeys = new BlockingCollection<string>(); }
public void CreateBus() { m_Sender = Substitute.For<IMessageSender>(); m_Receiver = Substitute.For<IMessageReceiver>(); m_Bus = new MessageBus(m_Sender, m_Receiver); }
private void SendAll(IEnumerable messages, IMessageSender sender) { IEnumerator iterator = messages.GetEnumerator(); while (iterator.MoveNext()) { sender.Send(iterator.Current); } }
public TransportClient(IMessageSender messageSender, IMessageListener messageListener, ILogger logger, IServiceExecutor serviceExecutor) { _messageSender = messageSender; _messageListener = messageListener; _logger = logger; _serviceExecutor = serviceExecutor; messageListener.Received += MessageListener_Received; }
public HttpMessageWriter(IMessageSender messageSender, string baseUrl, OutputPort light, Watchdog[] resetWatchdogsOnSend) { _messageSender = messageSender; _baseUrl = baseUrl; _light = light; _resetWatchdogsOnSend = resetWatchdogsOnSend ?? new Watchdog[] {}; StartThread(); }
public IncomingMessageProcessor(IRepository repository, IMessageSender messageSender, ICaseRepository caseRepository, IEmailSender emailSender) { _repository = repository; _messageSender = messageSender; _caseRepository = caseRepository; _emailSender = emailSender; }
public TransportClient(IMessageSender messageSender, IMessageListener messageListener, ILogger logger, ISerializer<byte[]> serializer) { _messageSender = messageSender; _messageListener = messageListener; _logger = logger; _serializer = serializer; messageListener.Received += MessageListener_Received; }
public IMessageSender GetSender(IMessageSender[] senders) { lock (_sendersLock) { _currentSender = ++_currentSender % senders.Length; return senders[_currentSender]; } }
public EventBus(IMessageSender messageSender, IRoutingKeyProvider routingKeyProvider, IMetadataProvider metadataProvider) { this.messageSender = messageSender; this.routingKeyProvider = routingKeyProvider; this.metadataProvider = metadataProvider; this.logger = LogManager.GetLogger("ThinkNet"); }
public override void Given() { messageSender = Moq.Mock<IMessageSender>(); var messageMap = Moq.Mock<IMessageMap_v2>(); messageMap.SetupGet(x => x.MessageType).Returns(typeof(ChangeOrderAttributes)); viewModel = new MessageMapViewModel(messageSender, messageMap); }
//--// public CoreTest( ILogger logger ) { if( logger == null ) { throw new ArgumentException( "Cannot run tests without logging" ); } _completed = new AutoResetEvent( false ); _logger = logger; _rand = new Random( ); _totalMessagesSent = 0; _totalMessagesToSend = 0; _gatewayQueue = new GatewayQueue<QueuedItem>( ); #if MOCK_SENDER _sender = new MockSender<SensorDataContract>(this); #else IotHubConfig iotHubConfig = Loader.GetIotHubConfig( ); _sender = new MessageSender<SensorDataContract>(iotHubConfig.IotHubConnectionString, _logger); #endif _batchSenderThread = new BatchSenderThread<QueuedItem, SensorDataContract>( _gatewayQueue, _sender, dataTransform : null, serializedData: m => ( m == null ) ? null : m.JsonData, logger : _logger ); string gatewayIPAddressString = string.Empty; IPAddressHelper.GetIPAddressString( ref gatewayIPAddressString ); DataTransformsConfig dataTransformsConfig = Loader.GetDataTransformsConfig( ); if( dataTransformsConfig.AttachIP || dataTransformsConfig.AttachTime ) { Func<string, SensorDataContract> transform = ( m => DataTransforms.SensorDataContractFromString( m, _logger ) ); if( dataTransformsConfig.AttachTime ) { var transformPrev = transform; transform = ( m => DataTransforms.AddTimeCreated( transformPrev( m ) ) ); } if( dataTransformsConfig.AttachTime ) { var transformPrev = transform; transform = ( m => DataTransforms.AddIPToLocation( transformPrev( m ), gatewayIPAddressString ) ); } _gatewayTransform = ( m => DataTransforms.QueuedItemFromSensorDataContract( transform( m ) ) ); } }
public ProxyService(IHmrcDataManipulator dataManipulator, IConfigurationRepository configRepository, IMessageSender messageSender) { if (dataManipulator == null) throw new ArgumentNullException(nameof(dataManipulator)); if (configRepository == null) throw new ArgumentNullException(nameof(configRepository)); if (messageSender == null) throw new ArgumentNullException(nameof(messageSender)); this.dataManipulator = dataManipulator; this.configRepository = configRepository; this.messageSender = messageSender; }
public ServiceBus(IServiceBusConfiguration configuration) { Guard.AgainstNull(configuration, "configuration"); Configuration = configuration; Events = new ServiceBusEvents(); _messageSender = new MessageSender(this); }
public static void RegisterView(IMessageSender viewModel) { Type viewModelType = viewModel.GetType(); if (_views.ContainsKey(viewModelType)) { IMessageListener listener = Activator.CreateInstance(_views[viewModelType]) as IMessageListener; listener.Initialize(viewModel); _registeredViews.Add(listener); } }
/// <summary> /// Azures the index builder. /// </summary> /// <param name="repository">The repository.</param> /// <param name="searchProvider">The search provider.</param> /// <param name="messageSender">The message sender.</param> /// <param name="consumerFactory">The consumer factory.</param> /// <param name="observer">The observer.</param> /// <param name="queueReader">The queue reader.</param> /// <param name="indexBuilders">The index builders.</param> public SearchIndexController(IBuildSettingsRepository repository, ISearchProvider searchProvider, IMessageSender messageSender, IConsumerFactory consumerFactory, ISystemObserver observer, IQueueReader queueReader, ISearchIndexBuilder[] indexBuilders) { _repository = repository; _messageSender = messageSender; _observer = observer; _queueReader = queueReader; _consumerFactory = consumerFactory; _searchProvider = searchProvider; _indexBuilders = indexBuilders; }
public CommandBus(IMessageSender messageSender, ICommandResultManager commandResultManager, IRoutingKeyProvider routingKeyProvider, IMetadataProvider metadataProvider) { this.messageSender = messageSender; this.commandResultManager = commandResultManager; this.routingKeyProvider = routingKeyProvider; this.metadataProvider = metadataProvider; this.logger = LogManager.GetLogger("ThinkNet"); }
public BusBootstrapper(IAssemblyScanner assemblyScanner, ZmqTransportConfiguration zmqTransportConfiguration, IBusBootstrapperConfiguration bootstrapperConfiguration, IMessageSender messageSender, IPeerManager peerManager, ISubscriptionManager subscriptionManager, IPeerConfiguration peerConfiguration) { _assemblyScanner = assemblyScanner; _zmqTransportConfiguration = zmqTransportConfiguration; _bootstrapperConfiguration = bootstrapperConfiguration; _messageSender = messageSender; _peerManager = peerManager; _subscriptionManager = subscriptionManager; _peerConfiguration = peerConfiguration; }
// Snippet from a class that uses IMessageSender public void SendMessage(IMessageSender sender) { // Is this right? sender.SendMessage("the message body", "PARTNER001", "PARTNER002"); // or this? sender.SendMessage("PARTNER001", "the message body", "PARTNER002"); // or this? sender.SendMessage("PARTNER001", "PARTNER002", "the message body"); }
/// <summary> /// 执行。 /// </summary> /// <param name="sender">消息发送者。</param> /// <param name="message">调用消息。</param> public async Task ExecuteAsync(IMessageSender sender, TransportMessage message) { if (_logger.IsEnabled(LogLevel.Information)) _logger.LogInformation("接收到消息。"); if (!message.IsInvokeMessage()) return; RemoteInvokeMessage remoteInvokeMessage; try { remoteInvokeMessage = message.GetContent<RemoteInvokeMessage>(); } catch (Exception exception) { _logger.LogError("将接收到的消息反序列化成 TransportMessage<RemoteInvokeMessage> 时发送了错误。", exception); return; } var entry = _serviceEntryLocate.Locate(remoteInvokeMessage); if (entry == null) { if (_logger.IsEnabled(LogLevel.Error)) _logger.LogError($"根据服务Id:{remoteInvokeMessage.ServiceId},找不到服务条目。"); return; } if (_logger.IsEnabled(LogLevel.Debug)) _logger.LogDebug("准备执行本地逻辑。"); var resultMessage = new RemoteInvokeResultMessage(); //是否需要等待执行。 if (entry.Descriptor.WaitExecution()) { //执行本地代码。 await LocalExecuteAsync(entry, remoteInvokeMessage, resultMessage); //向客户端发送调用结果。 await SendRemoteInvokeResult(sender, message.Id, resultMessage); } else { //通知客户端已接收到消息。 await SendRemoteInvokeResult(sender, message.Id, resultMessage); //确保新起一个线程执行,不堵塞当前线程。 await Task.Factory.StartNew(async () => { //执行本地代码。 await LocalExecuteAsync(entry, remoteInvokeMessage, resultMessage); }, TaskCreationOptions.LongRunning); } }
public void CreateBus() { m_Sender = Substitute.For<IMessageSender>(); m_Receiver = Substitute.For<IMessageReceiver>(); m_MessageList = Substitute.For<IMessageRegistrationList>(); m_MessageList.Messages.Returns(new List<Type> { typeof(TestMessage) }); m_Bus = new MessageBus(m_Sender, m_Receiver, m_MessageList); }
public ChangeZoneMsg( IMessageSender sender, IMessageReceiver receiver, Entity entity, string destZone, Point destPosition, int sendTime) : base(MessageType.ChangeZone, sender, receiver, sendTime) { Entity = entity; DestZone = destZone; DestPosition = destPosition; }
static MessageService() { if (ConfigurationManager.AppSettings["messaging.enabled"] != "true") { return; } var unity = ConfigurationManager.GetSection("unity"); var cfg = unity != null && ((UnityConfigurationSection)unity).Containers[unityContainerName] != null ? new UnityContainer().LoadConfiguration(unityContainerName) : null; sender = cfg != null ? ConfigureFromUnity(cfg) : new DbMessageSender(); }
public InternalBus(IMessageSender messageSender, IBusBootstrapper busBootstrapper, IDataReceiver dataReceiver, HandlingProcessorStandard handlingProcessorStandard, HandlingProcessorInfrastructure handlingProcessorInfrastructure, PersistenceSynchronizationProcessor networkProcessor, MessageTargetsHandler messageTargetsHandler, NetworkSender networkSender, IHeartbeatManager heartbeatManager, IQueueConfiguration queueConfiguration) { _messageSender = messageSender; _busBootstrapper = busBootstrapper; _dataReceiver = dataReceiver; _handlingProcessorStandard = handlingProcessorStandard; _handlingProcessorInfrastructure = handlingProcessorInfrastructure; _networkProcessor = networkProcessor; _messageTargetsHandler = messageTargetsHandler; _networkSender = networkSender; _heartbeatManager = heartbeatManager; _queueConfiguration = queueConfiguration; _networkInputDisruptor = new Disruptor<InboundMessageProcessingEntry>(() => new InboundMessageProcessingEntry(),new MultiThreadedClaimStrategy(_queueConfiguration.InboundQueueSize), new SleepingWaitStrategy(), new RoundRobinThreadAffinedTaskScheduler(3)); _outputDisruptor = new Disruptor<OutboundDisruptorEntry>(() => new OutboundDisruptorEntry(), new MultiThreadedClaimStrategy(_queueConfiguration.OutboundQueueSize), new SleepingWaitStrategy(), new RoundRobinThreadAffinedTaskScheduler(2)); }
public static IEventBusConfiguration RegisterEvents(this IEventBusConfiguration configuration, IMessageSender sender, Assembly assembly, Func<IQueryable<Type>, IQueryable<Type>> typeFilter = null) { // Get types. IQueryable<Type> types = assembly.GetTypes() .AsQueryable() .Where(t => typeof(IEvent).IsAssignableFrom(t)); if (typeFilter != null) types = typeFilter(types); // Add types. configuration.RegisterEvents(sender, types.ToArray()); // Done. return configuration; }
public MainViewModel(IMessageSender messageSender, IMessageReceiver messageReceiver) { mDungeonCrawlMessageSender = new DungeonCrawlMessageSender(messageSender); mMessageReceiver = messageReceiver; RegAccountCommand = new RelayCommand(() => { mDungeonCrawlMessageSender.RegAccount(Name, Pass, Email); mDungeonCrawlMessageSender.SetCookie(); }); SendChatMessageCommand = new RelayCommand(() => mDungeonCrawlMessageSender.SendChatMessage(ChatMessage)); LoginAccountCommand = new RelayCommand(() => { mDungeonCrawlMessageSender.LoginAccount(Name, Pass); mDungeonCrawlMessageSender.SetCookie(); }); EnterGameCommand = new RelayCommand(() => mDungeonCrawlMessageSender.EnterGame(PlayerName)); GoLobbyCommand = new RelayCommand(() => mDungeonCrawlMessageSender.GoLobby()); }
public Project(ILogger logger, IMessageSender messageSender) { _logger = logger; _messageSender = messageSender; }
public static void Send <TMessage>(this IMessageSender <TMessage> sender, string ipAddress, int port, byte[] data) where TMessage : IMessage <IPEndPoint, ArraySegment <byte> >, new() { sender.Send(ipAddress, port, data, null); }
internal SettingIoViewModel( RootSettingSync rootModel, AutomationSettingSync model, SaveFileManager saveFileManager, IMessageSender sender ) : base(sender) { _rootModel = rootModel; _model = model; _saveFileManager = saveFileManager; OpenInstructionUrlCommand = new ActionCommand(OpenInstructionUrl); RequestEnableAutomationCommand = new ActionCommand(OnEnableAutomationRequested); RequestDisableAutomationCommand = new ActionCommand(OnDisableAutomationRequested); ApplyPortNumberCommand = new ActionCommand(ApplyPortNumber); ShowSaveModalCommand = new ActionCommand(ShowSaveModal); ShowLoadModalCommand = new ActionCommand(ShowLoadModal); ExportSettingToFileCommand = new ActionCommand(SaveSettingToFile); ImportSettingFromFileCommand = new ActionCommand(LoadSettingFromFile); AutomationPortNumberText = new RProperty <string>( _model.AutomationPortNumber.Value.ToString(), v => { //フォーマット違反になってないかチェック PortNumberIsInvalid.Value = !(int.TryParse(v, out int i) && i >= 0 && i < 65536); }); _model.AutomationPortNumber.PropertyChanged += (_, __) => { AutomationPortNumberText.Value = _model.AutomationPortNumber.Value.ToString(); }; }
public Consumer(IMessageSender sender, IAtomicSingletonWriter <Entity> singleton) { _sender = sender; _singleton = singleton; }
public ValuesController(IConfiguration configuration, ISessionClient sessionClient, IMessageSender messageSender) { _configuration = configuration; _sessionClient = sessionClient; _messageSender = messageSender; }
public Task OnReceived(IMessageSender sender, TransportMessage message) { return(Task.CompletedTask); }
/// <summary> /// Initializes a new instance of the <see cref="EventBus"/> class. /// </summary> /// <param name="receiver">The receiver to use. If the receiver is <see cref="IDisposable"/>, it will be disposed when the processor is /// disposed.</param> /// <param name="serializer">The serializer to use for the message body.</param> public EventBus(IMessageSender sender, IMetadataProvider metadata, ISerializer serializer) { this.sender = sender; this.metadata = metadata; this.serializer = serializer; }
public async Task InvokeAsync(HttpContext context, IMessageSender messageSender) { context.Response.ContentType = "text/html;charset=utf-8"; await context.Response.WriteAsync(messageSender.Send()); }
public ExecuteRequestHandler(ILog logger, IReplEngine replEngine, IMessageSender messageSender) { this.logger = logger; this.replEngine = replEngine; this.messageSender = messageSender; }
public static void Send <TMessage, TPayload>(this IMessageSender <TMessage> sender, string ipAddress, int port, TPayload payload) where TMessage : IMessage <IPEndPoint, TPayload>, new() { Ensure.ArgumentNotNull(ipAddress, "ipAddress"); sender.Send(ipAddress, port, payload, null); }
/// <summary> /// 执行。 /// </summary> /// <param name="sender">消息发送者。</param> /// <param name="message">调用消息。</param> public async Task ExecuteAsync(IMessageSender sender, TransportMessage message) { if (_logger.IsEnabled(LogLevel.Information)) { _logger.LogInformation("接收到消息。"); } if (!message.IsInvokeMessage()) { return; } RemoteInvokeMessage remoteInvokeMessage; try { remoteInvokeMessage = message.GetContent <RemoteInvokeMessage>(); } catch (Exception exception) { _logger.LogError("将接收到的消息反序列化成 TransportMessage<RemoteInvokeMessage> 时发送了错误。", exception); return; } var entry = _serviceEntryLocate.Locate(remoteInvokeMessage); if (entry == null) { if (_logger.IsEnabled(LogLevel.Error)) { _logger.LogError($"根据服务Id:{remoteInvokeMessage.ServiceId},找不到服务条目。"); } return; } if (_logger.IsEnabled(LogLevel.Debug)) { _logger.LogDebug("准备执行本地逻辑。"); } var resultMessage = new RemoteInvokeResultMessage(); try { var result = entry.Func(remoteInvokeMessage.Parameters); var task = result as Task; if (task == null) { resultMessage.Result = result; } else { task.Wait(); var taskType = task.GetType().GetTypeInfo(); if (taskType.IsGenericType) { resultMessage.Result = taskType.GetProperty("Result").GetValue(task); } } } catch (Exception exception) { if (_logger.IsEnabled(LogLevel.Error)) { _logger.LogError("执行本地逻辑时候发生了错误。", exception); } resultMessage.ExceptionMessage = GetExceptionMessage(exception); } try { if (_logger.IsEnabled(LogLevel.Debug)) { _logger.LogDebug("准备发送响应消息。"); } await sender.SendAsync(TransportMessage.CreateInvokeResultMessage(message.Id, resultMessage)); if (_logger.IsEnabled(LogLevel.Debug)) { _logger.LogDebug("响应消息发送成功。"); } } catch (Exception exception) { if (_logger.IsEnabled(LogLevel.Error)) { _logger.LogError("发送响应消息时候发生了异常。", exception); } } }
public static void Send <TMessage, TPayload>(this IMessageSender <TMessage> sender, IPAddress ipAddress, int port, TPayload payload, Action <Exception> callback) where TMessage : IMessage <IPEndPoint, TPayload>, new() { Ensure.ArgumentNotNull(ipAddress, "ipAddress"); sender.Send(new IPEndPoint(ipAddress, port), payload, callback); }
public static void Send <TMessage, TPayload>(this IMessageSender <TMessage> sender, IPAddress ipAddress, int port, TPayload payload) where TMessage : IMessage <IPEndPoint, TPayload>, new() { sender.Send(ipAddress, port, payload, null); }
public static void Send <TMessage, TEndPoint, TPayload>(this IMessageSender <TMessage> sender, TEndPoint endPoint, TPayload payload) where TMessage : IMessage <TEndPoint, TPayload>, new() { sender.Send <TMessage, TEndPoint, TPayload>(endPoint, payload, null); }
//--------------------------------------------------------Events:---------------------------------------------------------------------\\ #region --Events-- private void Connection_ConnectionNewRoosterMessage(IMessageSender sender, NewValidMessageEventArgs args) { NewRoosterMessage?.Invoke(this, args); }
public SmsMessageCreatedEventHandler(IMessageSender <SmsMessageCreatedEvent> smsMessageCreatedEventSender) { _smsMessageCreatedEventSender = smsMessageCreatedEventSender; }
public UpdateCoinbaseExchangeRatesCommand(IUpdateCoinbaseExchangeRatesCommandHandler updateCoinbaseExchangeRatesCommandHandler, IMessageSender messageSender) { _updateCoinbaseExchangeRatesCommandHandler = updateCoinbaseExchangeRatesCommandHandler; _messageSender = messageSender; }
private void C_NewRoosterMessage(IMessageSender sender, NewValidMessageEventArgs args) { if (args.MESSAGE is RosterResultMessage msg && sender is XMPPClient client) { string to = client.getXMPPAccount().getBareJid(); string type = msg.TYPE; if (string.Equals(type, IQMessage.RESULT)) { ChatDBManager.INSTANCE.setAllNotInRoster(client.getXMPPAccount().getBareJid()); } else if (!string.Equals(type, IQMessage.SET)) { // No roster result or set => return return; } foreach (RosterItem item in msg.ITEMS) { string from = item.JID; string id = ChatTable.generateId(from, to); ChatTable chat = ChatDBManager.INSTANCE.getChat(id); if (chat != null) { chat.inRoster = !string.Equals(item.SUBSCRIPTION, "remove"); } else if (!string.Equals(item.SUBSCRIPTION, "remove")) { chat = new ChatTable(from, to) { inRoster = true, chatType = ChatType.CHAT }; } else { continue; } // Only update the subscription state, if not set to subscribe: if (!string.Equals(chat.subscription, "subscribe")) { chat.subscription = item.SUBSCRIPTION; } chat.subscriptionRequested = string.Equals(item.ASK, "subscribe"); switch (chat.subscription) { case "unsubscribe": case "from": case "none": case "pending": case null: chat.presence = Presence.Unavailable; break; default: break; } ChatDBManager.INSTANCE.setChat(chat, false, true); } } }
public GuestbookService(IRepository <Guestbook> guestbookRepository, IMessageSender messageSender) { _guestbookRepository = guestbookRepository; _messageSender = messageSender; }
/// <summary> /// 执行。 /// </summary> /// <param name="sender">消息发送者。</param> /// <param name="message">调用消息。</param> public async Task ExecuteAsync(IMessageSender sender, TransportMessage message) { if (_logger.IsEnabled(LogLevel.Information)) { _logger.LogInformation("接收到消息。"); } if (!message.IsInvokeMessage()) { return; } RemoteInvokeMessage remoteInvokeMessage; try { remoteInvokeMessage = message.GetContent <RemoteInvokeMessage>(); } catch (Exception exception) { _logger.LogError(exception, "将接收到的消息反序列化成 TransportMessage<RemoteInvokeMessage> 时发送了错误。"); return; } var entry = _serviceEntryLocate.Locate(remoteInvokeMessage); if (entry == null) { if (_logger.IsEnabled(LogLevel.Error)) { _logger.LogError($"根据服务Id:{remoteInvokeMessage.ServiceId},找不到服务条目。"); } return; } if (_logger.IsEnabled(LogLevel.Debug)) { _logger.LogDebug("准备执行本地逻辑。"); } var resultMessage = new RemoteInvokeResultMessage(); //是否需要等待执行。 if (entry.Descriptor.WaitExecution()) { //执行本地代码。 await LocalExecuteAsync(entry, remoteInvokeMessage, resultMessage); //向客户端发送调用结果。 await SendRemoteInvokeResult(sender, message.Id, resultMessage); } else { //通知客户端已接收到消息。 await SendRemoteInvokeResult(sender, message.Id, resultMessage); //确保新起一个线程执行,不堵塞当前线程。 await Task.Factory.StartNew(async() => { //执行本地代码。 await LocalExecuteAsync(entry, remoteInvokeMessage, resultMessage); }, TaskCreationOptions.LongRunning); } }
internal DefaultMessageHandler() { _messages = new Dictionary <string, IMessage>(); _messageSender = MessageSenderFactory.GetDefaultMessageSender(); }
public CommandBus(IMessageSender messageSender, ITextSerialiser textSerialiser) { this._messageSender = messageSender; this._textSerialiser = textSerialiser; }
public override Task SendCoreAsync(IMessageSender sender, string method, object[] args, CancellationToken cancellationToken) { return(sender.SendUserAsync(UserId, method, args, cancellationToken)); }
public Chore(ILogger logger, IMessageSender messageSender) { _logger = logger; _messageSender = messageSender; }
public static void Send <TMessage>(this IMessageSender <TMessage> sender, string ipAddress, int port, byte[] data, int index, int count, Action <Exception> callback) where TMessage : IMessage <IPEndPoint, ArraySegment <byte> >, new() { Ensure.ArgumentNotNull(ipAddress, "ipAddress"); sender.Send(IPAddress.Parse(ipAddress), port, new ArraySegment <byte>(data, index, count), callback); }
public static void Send <TMessage>(this IMessageSender <TMessage> sender, IPAddress ipAddress, int port, byte[] data, Action <Exception> callback) where TMessage : IMessage <IPEndPoint, ArraySegment <byte> >, new() { Ensure.ArgumentNotNull(data, "data"); sender.Send(ipAddress, port, data, 0, data.Length, callback); }