/// <summary> /// Releases unmanaged and - optionally - managed resources /// </summary> /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param> private void Dispose(bool disposing) { if (disposing) { SenderEndPoint.Dispose(); } }
/// <summary> /// Sends the specified message. /// </summary> /// <param name="message">The message.</param> /// <param name="messageInfo">The message info.</param> /// <returns></returns> public override int Send(byte[] message, IMessageInfo messageInfo) { try { SenderEndPoint.Send(message, messageInfo.Header.Priority); return(message.Length); } catch (Exception ex) { Logger.Fatal("Error Send Message", ex); return(0); } }
/// <summary> /// Sends the specified MSG. /// </summary> /// <param name="message">The message.</param> /// <param name="priority">The priority.</param> /// <returns>Bytes Sent</returns> public override int Send(IMessage message, int priority) { try { var messageBus = MessageBusFactory.Create(_identification, message, DataContractSerializer); messageBus.Header.Priority = priority; var callerContext = CallerContextFactory.Create(_identification); messageBus.Header.CallStack.Push(callerContext); var serializedMessage = MessageBusParser.ToBytes(messageBus); SenderEndPoint.Send(serializedMessage, priority); InvokeSentMessage(messageBus.Header.BodyType, serializedMessage.Length); return(serializedMessage.Length); } catch (Exception ex) { Logger.Error("OutputGateway - Error Send Message", ex); throw; } }
/// <summary> /// Sends the specified message. /// </summary> /// <param name="message">The message.</param> /// <param name="messageInfo">The message info.</param> /// <returns></returns> public override int Send(IMessage message, IMessageInfo messageInfo) { try { var messageBus = MessageBusFactory.Create(_identification, message, DataContractSerializer); messageBus.Header.Priority = messageInfo.Header.Priority; messageBus.Header.CallStack = messageInfo.Header.CallStack; messageBus.Header.CallContext = messageInfo.CurrentCallContext; if (!messageInfo.IsReply) { var callerContext = CallerContextFactory.Create(_identification, messageInfo.CurrentSession); messageBus.Header.CallStack.Push(callerContext); } else { messageBus.Header.Type = MessageBusType.Reply; } var serializedMessage = MessageBusParser.ToBytes(messageBus); if (!messageInfo.IsReply) { messageBus.Header.CallStack.Pop(); } SenderEndPoint.Send(serializedMessage, messageInfo.Header.Priority); InvokeSentMessage(messageBus.Header.BodyType, serializedMessage.Length); return(serializedMessage.Length); } catch (Exception ex) { Logger.Error("OutputGateway - Error Send Message", ex); throw; } }
/// <summary> /// Serves as a hash function for a particular type. /// </summary> /// <returns> /// A hash code for the current <see cref="T:System.Object"/>. /// </returns> /// <filterpriority>2</filterpriority> public override int GetHashCode() { return(SenderEndPoint != null ? SenderEndPoint.GetHashCode() : 0); }
/// <summary> /// Sends the specified MSG. /// </summary> /// <param name="message">The message.</param> /// <param name="priority">The priority.</param> public override int Send(byte[] message, int priority) { SenderEndPoint.Send(message, priority); return(message.Length); }