/// <summary> /// Sends the specified methods to be executed. /// </summary> /// <param name="methods">The methods to execute.</param> /// <returns></returns> public IQueueOutputMessages Send(List<QueueMessage<Expression<Action<IReceivedMessage<MessageExpression>, IWorkerNotification>>, IAdditionalMessageData>> methods) { var messages = new List<QueueMessage<MessageExpression, IAdditionalMessageData>>(methods.Count); foreach (var method in methods) { var message = new MessageExpression(MessageExpressionPayloads.Action, _serializer.ConvertMethodToBytes(method.Message)); messages.Add(new QueueMessage<MessageExpression, IAdditionalMessageData>(message, method.MessageData)); } return _queue.Send(messages); }
/// <summary> /// Sends the specified linqExpression for execution. /// </summary> /// <param name="linqExpression">The linqExpression.</param> /// <param name="timeOut">The time out.</param> /// <param name="data">The data.</param> /// <returns></returns> /// <remarks>Your expression must return a type of object, or the JSON serializer may throw casting errors</remarks> public async Task<IReceivedMessage<object>> SendAsync(LinqExpressionToRun linqExpression, TimeSpan timeOut, IAdditionalMessageData data = null) { var message = new MessageExpression(MessageExpressionPayloads.FunctionText, _compositeSerialization.InternalSerializer.ConvertToBytes(linqExpression)); return await _queue.SendAsync(message, timeOut, data).ConfigureAwait(false); }
/// <summary> /// Sends the specified linqExpression for execution. /// </summary> /// <param name="linqExpression">The linqExpression.</param> /// <param name="timeOut">The time out.</param> /// <param name="data">The data.</param> /// <returns></returns> /// <remarks>Your expression must return a type of object, or the JSON serializer may throw casting errors</remarks> public IReceivedMessage<object> Send(LinqExpressionToRun linqExpression, TimeSpan timeOut, IAdditionalMessageData data = null) { var message = new MessageExpression(MessageExpressionPayloads.FunctionText, _compositeSerialization.InternalSerializer.ConvertToBytes(linqExpression)); return _queue.Send(message, timeOut, data); }
/// <summary> /// Sends the specified linqExpression for execution. /// </summary> /// <param name="method">The linqExpression.</param> /// <param name="timeOut">The time out.</param> /// <param name="data">The data.</param> /// <returns></returns> /// <remarks> /// Your expression must return a type of object, or the JSON serializer may throw casting errors /// </remarks> public async Task<IReceivedMessage<object>> SendAsync(Expression<Func<IReceivedMessage<MessageExpression>, IWorkerNotification, object>> method, TimeSpan timeOut, IAdditionalMessageData data = null) { var message = new MessageExpression(MessageExpressionPayloads.Function, _serializer.ConvertFunctionToBytes(method)); return await _queue.SendAsync(message, timeOut, data).ConfigureAwait(false); }
/// <summary> /// Sends the specified linqExpression for execution. /// </summary> /// <param name="method">The linqExpression.</param> /// <param name="timeOut">The time out.</param> /// <param name="data">The data.</param> /// <returns></returns> /// <remarks> /// Your expression must return a type of object, or the JSON serializer may throw casting errors /// </remarks> public IReceivedMessage<object> Send(Expression<Func<IReceivedMessage<MessageExpression>, IWorkerNotification, object>> method, TimeSpan timeOut, IAdditionalMessageData data = null) { var message = new MessageExpression(MessageExpressionPayloads.Function, _serializer.ConvertFunctionToBytes(method)); return _queue.Send(message, timeOut, data); }
/// <summary> /// Sends the specified linqExpression to be executed. Additional message meta data is optional. /// </summary> /// <param name="method">The linqExpression to execute.</param> /// <param name="data">The optional additional message data.</param> /// <returns></returns> public async Task<IQueueOutputMessage> SendAsync(Expression<Action<IReceivedMessage<MessageExpression>, IWorkerNotification>> method, IAdditionalMessageData data = null) { var message = new MessageExpression(MessageExpressionPayloads.Action, _serializer.ConvertMethodToBytes(method)); return await _queue.SendAsync(message, data).ConfigureAwait(false); }
/// <summary> /// Sends the specified methods to be executed. /// </summary> /// <param name="methods">The messages.</param> /// <returns></returns> public async Task<IQueueOutputMessages> SendAsync(List<QueueMessage<LinqExpressionToRun, IAdditionalMessageData>> methods) { var messages = new List<QueueMessage<MessageExpression, IAdditionalMessageData>>(methods.Count); foreach (var method in methods) { var message = new MessageExpression(MessageExpressionPayloads.ActionText, _compositeSerialization.InternalSerializer.ConvertToBytes(method)); messages.Add(new QueueMessage<MessageExpression, IAdditionalMessageData>(message, method.MessageData)); } return await _queue.SendAsync(messages).ConfigureAwait(false); }
/// <summary> /// Sends the specified linqExpression to be executed. Additional message meta data is optional. /// </summary> /// <param name="linqExpression">The linqExpression to execute.</param> /// <param name="data">The optional additional message data.</param> /// <returns></returns> public async Task<IQueueOutputMessage> SendAsync(LinqExpressionToRun linqExpression, IAdditionalMessageData data = null) { var message = new MessageExpression(MessageExpressionPayloads.ActionText, _compositeSerialization.InternalSerializer.ConvertToBytes(linqExpression)); return await _queue.SendAsync(message, data).ConfigureAwait(false); }
/// <summary> /// Sends the specified linqExpression to be executed. Additional message meta data is optional. /// </summary> /// <param name="linqExpression">The linqExpression to execute.</param> /// <param name="data">The optional additional message data.</param> /// <returns></returns> public IQueueOutputMessage Send(LinqExpressionToRun linqExpression, IAdditionalMessageData data = null) { var message = new MessageExpression(MessageExpressionPayloads.ActionText, _compositeSerialization.InternalSerializer.ConvertToBytes(linqExpression)); return _queue.Send(message, data); }
/// <summary> /// Sends the specified linqExpression to be executed. Additional message meta data is optional. /// </summary> /// <param name="method">The linqExpression to execute.</param> /// <param name="data">The optional additional message data.</param> /// <returns></returns> public IQueueOutputMessage Send(Expression<Action<IReceivedMessage<MessageExpression>, IWorkerNotification>> method, IAdditionalMessageData data = null) { var message = new MessageExpression(MessageExpressionPayloads.Action, _serializer.ConvertMethodToBytes(method)); return _queue.Send(message, data); }