AMQNET-637 NMS 2.0 Add missing async message factory methods overloads to producers
diff --git a/src/nms-api/IMessageProducer.cs b/src/nms-api/IMessageProducer.cs
index 38f3b05..682fbcc 100644
--- a/src/nms-api/IMessageProducer.cs
+++ b/src/nms-api/IMessageProducer.cs
@@ -118,40 +118,80 @@
IMessage CreateMessage();
/// <summary>
+ /// Creates a new message with an empty body
+ /// </summary>
+ Task<IMessage> CreateMessageAsync();
+
+ /// <summary>
/// Creates a new text message with an empty body
/// </summary>
ITextMessage CreateTextMessage();
/// <summary>
+ /// Creates a new text message with an empty body
+ /// </summary>
+ Task<ITextMessage> CreateTextMessageAsync();
+
+ /// <summary>
/// Creates a new text message with the given body
/// </summary>
ITextMessage CreateTextMessage(string text);
/// <summary>
+ /// Creates a new text message with the given body
+ /// </summary>
+ Task<ITextMessage> CreateTextMessageAsync(string text);
+
+ /// <summary>
/// Creates a new Map message which contains primitive key and value pairs
/// </summary>
IMapMessage CreateMapMessage();
/// <summary>
+ /// Creates a new Map message which contains primitive key and value pairs
+ /// </summary>
+ Task<IMapMessage> CreateMapMessageAsync();
+
+ /// <summary>
/// Creates a new Object message containing the given .NET object as the body
/// </summary>
IObjectMessage CreateObjectMessage(object body);
/// <summary>
+ /// Creates a new Object message containing the given .NET object as the body
+ /// </summary>
+ Task<IObjectMessage> CreateObjectMessageAsync(object body);
+
+ /// <summary>
/// Creates a new binary message
/// </summary>
IBytesMessage CreateBytesMessage();
/// <summary>
+ /// Creates a new binary message
+ /// </summary>
+ Task<IBytesMessage> CreateBytesMessageAsync();
+
+ /// <summary>
/// Creates a new binary message with the given body
/// </summary>
IBytesMessage CreateBytesMessage(byte[] body);
/// <summary>
+ /// Creates a new binary message with the given body
+ /// </summary>
+ Task<IBytesMessage> CreateBytesMessageAsync(byte[] body);
+
+ /// <summary>
/// Creates a new stream message
/// </summary>
IStreamMessage CreateStreamMessage();
+ /// <summary>
+ /// Creates a new stream message
+ /// </summary>
+ Task<IStreamMessage> CreateStreamMessageAsync();
+
#endregion
}
}
\ No newline at end of file
diff --git a/src/nms-api/INMSProducer.cs b/src/nms-api/INMSProducer.cs
index 038bdb4..1adfe8e 100644
--- a/src/nms-api/INMSProducer.cs
+++ b/src/nms-api/INMSProducer.cs
@@ -141,48 +141,88 @@
INMSProducer SetProperty(string name, IDictionary value);
- #region Factory methods to create messages
-
+ #region Factory methods to create messages
+
/// <summary>
/// Creates a new message with an empty body
/// </summary>
IMessage CreateMessage();
/// <summary>
+ /// Creates a new message with an empty body
+ /// </summary>
+ Task<IMessage> CreateMessageAsync();
+
+ /// <summary>
/// Creates a new text message with an empty body
/// </summary>
ITextMessage CreateTextMessage();
/// <summary>
+ /// Creates a new text message with an empty body
+ /// </summary>
+ Task<ITextMessage> CreateTextMessageAsync();
+
+ /// <summary>
/// Creates a new text message with the given body
/// </summary>
ITextMessage CreateTextMessage(string text);
/// <summary>
+ /// Creates a new text message with the given body
+ /// </summary>
+ Task<ITextMessage> CreateTextMessageAsync(string text);
+
+ /// <summary>
/// Creates a new Map message which contains primitive key and value pairs
/// </summary>
IMapMessage CreateMapMessage();
/// <summary>
+ /// Creates a new Map message which contains primitive key and value pairs
+ /// </summary>
+ Task<IMapMessage> CreateMapMessageAsync();
+
+ /// <summary>
/// Creates a new Object message containing the given .NET object as the body
/// </summary>
IObjectMessage CreateObjectMessage(object body);
/// <summary>
+ /// Creates a new Object message containing the given .NET object as the body
+ /// </summary>
+ Task<IObjectMessage> CreateObjectMessageAsync(object body);
+
+ /// <summary>
/// Creates a new binary message
/// </summary>
IBytesMessage CreateBytesMessage();
/// <summary>
+ /// Creates a new binary message
+ /// </summary>
+ Task<IBytesMessage> CreateBytesMessageAsync();
+
+ /// <summary>
/// Creates a new binary message with the given body
/// </summary>
IBytesMessage CreateBytesMessage(byte[] body);
/// <summary>
+ /// Creates a new binary message with the given body
+ /// </summary>
+ Task<IBytesMessage> CreateBytesMessageAsync(byte[] body);
+
+ /// <summary>
/// Creates a new stream message
/// </summary>
IStreamMessage CreateStreamMessage();
+ /// <summary>
+ /// Creates a new stream message
+ /// </summary>
+ Task<IStreamMessage> CreateStreamMessageAsync();
+
#endregion
/// <summary>