/// <summary> /// Sends the generic message. /// </summary> /// <param name="message">The message.</param> /// <param name="receiverSessionId">The receiver session id.</param> /// <param name="context">The context.</param> public void SendMessage(IGenericMessage message, int receiverSessionId, object context) { byte[] msgBytes = serializer.SerializeToBytes(message, context); byte[] encapsulatedMessageBytes = AbstractTcpCom.CreateMessage(serializer.MessageFormat, msgBytes); if (logDataStream) { dataStreamLogger.LogStreamMessage(receiverSessionId, false, msgBytes, serializer.MessageFormat != RawMessageFormat.JSON); } communication.Send(encapsulatedMessageBytes, receiverSessionId); }
public async ValueTask SendMessageAsync(IGenericMessage message, int receiverSessionId, object context) { byte[] msgBytes = serializer.SerializeToBytes(message, context); byte[] encapsulatedMessageBytes = AbstractTcpCom.CreateMessage(serializer.MessageFormat, msgBytes); if (logDataStream) { // todo: create async version dataStreamLogger.LogStreamMessage(receiverSessionId, false, msgBytes, serializer.MessageFormat != RawMessageFormat.JSON); } await communication.SendAsync(encapsulatedMessageBytes, receiverSessionId); }