You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by jg...@apache.org on 2009/10/03 00:58:06 UTC
svn commit: r821196 - in /activemq/activemq-dotnet:
Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/
Apache.NMS.EMS/trunk/src/main/csharp/
Apache.NMS.MSMQ/trunk/src/main/csharp/ Apache.NMS/trunk/src/main/csharp/
Author: jgomes
Date: Fri Oct 2 22:58:05 2009
New Revision: 821196
URL: http://svn.apache.org/viewvc?rev=821196&view=rev
Log:
Implemented new BytesMessage API for MSMQ and EMS providers.
Fixes [AMQNET-162]. (See https://issues.apache.org/activemq/browse/AMQNET-162)
Modified:
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ActiveMQMessage.cs
activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/BytesMessage.cs
activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/Message.cs
activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/BaseMessage.cs
activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/BytesMessage.cs
activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/ObjectMessage.cs
activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/TextMessage.cs
activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/IBytesMessage.cs
activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/IMessage.cs
Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ActiveMQMessage.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ActiveMQMessage.cs?rev=821196&r1=821195&r2=821196&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ActiveMQMessage.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ActiveMQMessage.cs Fri Oct 2 22:58:05 2009
@@ -63,35 +63,35 @@
Acknowledger(this);
}
}
-
- public virtual void ClearBody()
- {
- this.Content = null;
- this.readOnlyMsgBody = false;
- }
-
- public virtual void ClearProperties()
- {
- this.MarshalledProperties = null;
- this.Properties.Clear();
- this.readOnlyMsgProperties = false;
- }
-
- protected void FailIfReadOnlyBody()
- {
- if(ReadOnlyBody == true)
- {
- throw new MessageNotWriteableException("Message is in Read-Only mode.");
- }
- }
-
- protected void FailIfWriteOnlyBody()
- {
- if( ReadOnlyBody == false )
- {
- throw new MessageNotReadableException("Message is in Write-Only mode.");
- }
- }
+
+ public virtual void ClearBody()
+ {
+ this.Content = null;
+ this.readOnlyMsgBody = false;
+ }
+
+ public virtual void ClearProperties()
+ {
+ this.MarshalledProperties = null;
+ this.Properties.Clear();
+ this.readOnlyMsgProperties = false;
+ }
+
+ protected void FailIfReadOnlyBody()
+ {
+ if(ReadOnlyBody == true)
+ {
+ throw new MessageNotWriteableException("Message is in Read-Only mode.");
+ }
+ }
+
+ protected void FailIfWriteOnlyBody()
+ {
+ if( ReadOnlyBody == false )
+ {
+ throw new MessageNotReadableException("Message is in Write-Only mode.");
+ }
+ }
#region Properties
Modified: activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/BytesMessage.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/BytesMessage.cs?rev=821196&r1=821195&r2=821196&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/BytesMessage.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/BytesMessage.cs Fri Oct 2 22:58:05 2009
@@ -51,6 +51,131 @@
}
}
+ public long BodyLength
+ {
+ get { return this.tibcoBytesMessage.BodyLength; }
+ }
+
+ public bool ReadBoolean()
+ {
+ return this.tibcoBytesMessage.ReadBoolean();
+ }
+
+ public byte ReadByte()
+ {
+ return (byte) this.tibcoBytesMessage.ReadByte();
+ }
+
+ public int ReadBytes(byte[] value, int length)
+ {
+ return this.tibcoBytesMessage.ReadBytes(value, length);
+ }
+
+ public int ReadBytes(byte[] value)
+ {
+ return this.tibcoBytesMessage.ReadBytes(value);
+ }
+
+ public char ReadChar()
+ {
+ return this.tibcoBytesMessage.ReadChar();
+ }
+
+ public double ReadDouble()
+ {
+ return this.tibcoBytesMessage.ReadDouble();
+ }
+
+ public short ReadInt16()
+ {
+ return this.tibcoBytesMessage.ReadShort();
+ }
+
+ public int ReadInt32()
+ {
+ return this.tibcoBytesMessage.ReadInt();
+ }
+
+ public long ReadInt64()
+ {
+ return this.tibcoBytesMessage.ReadLong();
+ }
+
+ public float ReadSingle()
+ {
+ return this.tibcoBytesMessage.ReadFloat();
+ }
+
+ public string ReadString()
+ {
+ return this.tibcoBytesMessage.ReadUTF();
+ }
+
+ public void Reset()
+ {
+ this.tibcoBytesMessage.Reset();
+ }
+
+ public void WriteBoolean(bool value)
+ {
+ this.tibcoBytesMessage.WriteBoolean(value);
+ }
+
+ public void WriteByte(byte value)
+ {
+ this.tibcoBytesMessage.WriteByte(value);
+ }
+
+ public void WriteBytes(byte[] value, int offset, int length)
+ {
+ this.tibcoBytesMessage.WriteBytes(value, offset, length);
+ }
+
+ public void WriteBytes(byte[] value)
+ {
+ this.tibcoBytesMessage.WriteBytes(value);
+ }
+
+ public void WriteChar(char value)
+ {
+ this.tibcoBytesMessage.WriteChar(value);
+ }
+
+ public void WriteDouble(double value)
+ {
+ this.tibcoBytesMessage.WriteDouble(value);
+ }
+
+ public void WriteInt16(short value)
+ {
+ this.tibcoBytesMessage.WriteShort(value);
+ }
+
+ public void WriteInt32(int value)
+ {
+ this.tibcoBytesMessage.WriteInt(value);
+ }
+
+ public void WriteInt64(long value)
+ {
+ this.tibcoBytesMessage.WriteLong(value);
+ }
+
+ public void WriteObject(object value)
+ {
+ this.tibcoBytesMessage.WriteObject(value);
+ }
+
+ public void WriteSingle(float value)
+ {
+ this.tibcoBytesMessage.WriteFloat(value);
+ }
+
+ public void WriteString(string value)
+ {
+ this.tibcoBytesMessage.WriteUTF(value);
+ }
+
#endregion
}
}
Modified: activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/Message.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/Message.cs?rev=821196&r1=821195&r2=821196&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/Message.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/Message.cs Fri Oct 2 22:58:05 2009
@@ -40,6 +40,28 @@
}
/// <summary>
+ /// Clears out the message body. Clearing a message's body does not clear its header
+ /// values or property entries.
+ ///
+ /// If this message body was read-only, calling this method leaves the message body in
+ /// the same state as an empty body in a newly created message.
+ /// </summary>
+ public void ClearBody()
+ {
+ this.tibcoMessage.ClearBody();
+ }
+
+ /// <summary>
+ /// Clears a message's properties.
+ ///
+ /// The message's header fields and body are not cleared.
+ /// </summary>
+ public void ClearProperties()
+ {
+ this.tibcoMessage.ClearProperties();
+ }
+
+ /// <summary>
/// Provides access to the message properties (headers)
/// </summary>
public Apache.NMS.IPrimitiveMap Properties
Modified: activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/BaseMessage.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/BaseMessage.cs?rev=821196&r1=821195&r2=821196&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/BaseMessage.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/BaseMessage.cs Fri Oct 2 22:58:05 2009
@@ -34,15 +34,17 @@
private Destination replyTo;
private string type;
private event AcknowledgeHandler Acknowledger;
- private byte[] content;
private DateTime timestamp = new DateTime();
+ private bool readOnlyMsgBody = false;
- public byte[] Content
+ public bool ReadOnlyBody
{
- get { return content; }
- set { content = value; }
+ get { return readOnlyMsgBody; }
+ set { readOnlyMsgBody = value; }
}
+ // IMessage interface
+
public void Acknowledge()
{
if(null != Acknowledger)
@@ -51,6 +53,28 @@
}
}
+ /// <summary>
+ /// Clears out the message body. Clearing a message's body does not clear its header
+ /// values or property entries.
+ ///
+ /// If this message body was read-only, calling this method leaves the message body in
+ /// the same state as an empty body in a newly created message.
+ /// </summary>
+ public virtual void ClearBody()
+ {
+ this.readOnlyMsgBody = false;
+ }
+
+ /// <summary>
+ /// Clears a message's properties.
+ ///
+ /// The message's header fields and body are not cleared.
+ /// </summary>
+ public virtual void ClearProperties()
+ {
+ propertiesMap.Clear();
+ }
+
// Properties
public IPrimitiveMap Properties
@@ -59,8 +83,6 @@
}
- // IMessage interface
-
// NMS headers
/// <summary>
@@ -163,6 +185,22 @@
public void SetObjectProperty(string name, object value)
{
}
+
+ protected void FailIfReadOnlyBody()
+ {
+ if(ReadOnlyBody == true)
+ {
+ throw new MessageNotWriteableException("Message is in Read-Only mode.");
+ }
+ }
+
+ protected void FailIfWriteOnlyBody()
+ {
+ if( ReadOnlyBody == false )
+ {
+ throw new MessageNotReadableException("Message is in Write-Only mode.");
+ }
+ }
}
}
Modified: activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/BytesMessage.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/BytesMessage.cs?rev=821196&r1=821195&r2=821196&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/BytesMessage.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/BytesMessage.cs Fri Oct 2 22:58:05 2009
@@ -16,10 +16,503 @@
*/
+using Apache.NMS.Util;
+using System.IO;
+using System;
namespace Apache.NMS.MSMQ
{
+ /// <summary>
+ ///
+ /// A BytesMessage object is used to send a message containing a stream of uninterpreted
+ /// bytes. It inherits from the Message interface and adds a bytes message body. The
+ /// receiver of the message supplies the interpretation of the bytes.
+ ///
+ /// This message type is for client encoding of existing message formats. If possible,
+ /// one of the other self-defining message types should be used instead.
+ ///
+ /// Although the NMS API allows the use of message properties with byte messages, they
+ /// are typically not used, since the inclusion of properties may affect the format.
+ ///
+ /// When the message is first created, and when ClearBody is called, the body of the
+ /// message is in write-only mode. After the first call to Reset has been made, the
+ /// message body is in read-only mode. After a message has been sent, the client that
+ /// sent it can retain and modify it without affecting the message that has been sent.
+ /// The same message object can be sent multiple times. When a message has been received,
+ /// the provider has called Reset so that the message body is in read-only mode for the
+ /// client.
+ ///
+ /// If ClearBody is called on a message in read-only mode, the message body is cleared and
+ /// the message is in write-only mode.
+ ///
+ /// If a client attempts to read a message in write-only mode, a MessageNotReadableException
+ /// is thrown.
+ ///
+ /// If a client attempts to write a message in read-only mode, a MessageNotWriteableException
+ /// is thrown.
+ /// </summary>
public class BytesMessage : BaseMessage, IBytesMessage
{
+ private EndianBinaryReader dataIn = null;
+ private EndianBinaryWriter dataOut = null;
+ private MemoryStream outputBuffer = null;
+ private byte[] content;
+
+ // Need this later when we add compression to store true content length.
+ private long length = 0;
+
+ public byte[] Content
+ {
+ get { StoreContent(); return content; }
+ set { content = value; }
+ }
+
+ public override void ClearBody()
+ {
+ base.ClearBody();
+ this.outputBuffer = null;
+ this.dataIn = null;
+ this.dataOut = null;
+ this.length = 0;
+ }
+
+ public long BodyLength
+ {
+ get
+ {
+ InitializeReading();
+ return this.length;
+ }
+ }
+
+ public byte ReadByte()
+ {
+ InitializeReading();
+ try
+ {
+ return dataIn.ReadByte();
+ }
+ catch(EndOfStreamException e)
+ {
+ throw NMSExceptionSupport.createMessageEOFException(e);
+ }
+ catch(IOException e)
+ {
+ throw NMSExceptionSupport.createMessageFormatException(e);
+ }
+ }
+
+ public void WriteByte( byte value )
+ {
+ InitializeWriting();
+ try
+ {
+ dataOut.Write( value );
+ }
+ catch(Exception e)
+ {
+ throw NMSExceptionSupport.create(e);
+ }
+ }
+
+ public bool ReadBoolean()
+ {
+ InitializeReading();
+ try
+ {
+ return dataIn.ReadBoolean();
+ }
+ catch(EndOfStreamException e)
+ {
+ throw NMSExceptionSupport.createMessageEOFException(e);
+ }
+ catch(IOException e)
+ {
+ throw NMSExceptionSupport.createMessageFormatException(e);
+ }
+ }
+
+ public void WriteBoolean( bool value )
+ {
+ InitializeWriting();
+ try
+ {
+ dataOut.Write( value );
+ }
+ catch(Exception e)
+ {
+ throw NMSExceptionSupport.create(e);
+ }
+ }
+
+ public char ReadChar()
+ {
+ InitializeReading();
+ try
+ {
+ return dataIn.ReadChar();
+ }
+ catch(EndOfStreamException e)
+ {
+ throw NMSExceptionSupport.createMessageEOFException(e);
+ }
+ catch(IOException e)
+ {
+ throw NMSExceptionSupport.createMessageFormatException(e);
+ }
+ }
+
+ public void WriteChar( char value )
+ {
+ InitializeWriting();
+ try
+ {
+ dataOut.Write( value );
+ }
+ catch(Exception e)
+ {
+ throw NMSExceptionSupport.create(e);
+ }
+ }
+
+ public short ReadInt16()
+ {
+ InitializeReading();
+ try
+ {
+ return dataIn.ReadInt16();
+ }
+ catch(EndOfStreamException e)
+ {
+ throw NMSExceptionSupport.createMessageEOFException(e);
+ }
+ catch(IOException e)
+ {
+ throw NMSExceptionSupport.createMessageFormatException(e);
+ }
+ }
+
+ public void WriteInt16( short value )
+ {
+ InitializeWriting();
+ try
+ {
+ dataOut.Write( value );
+ }
+ catch(Exception e)
+ {
+ throw NMSExceptionSupport.create(e);
+ }
+ }
+
+ public int ReadInt32()
+ {
+ InitializeReading();
+ try
+ {
+ return dataIn.ReadInt32();
+ }
+ catch(EndOfStreamException e)
+ {
+ throw NMSExceptionSupport.createMessageEOFException(e);
+ }
+ catch(IOException e)
+ {
+ throw NMSExceptionSupport.createMessageFormatException(e);
+ }
+ }
+
+ public void WriteInt32( int value )
+ {
+ InitializeWriting();
+ try
+ {
+ dataOut.Write( value );
+ }
+ catch(Exception e)
+ {
+ throw NMSExceptionSupport.create(e);
+ }
+ }
+
+ public long ReadInt64()
+ {
+ InitializeReading();
+ try
+ {
+ return dataIn.ReadInt64();
+ }
+ catch(EndOfStreamException e)
+ {
+ throw NMSExceptionSupport.createMessageEOFException(e);
+ }
+ catch(IOException e)
+ {
+ throw NMSExceptionSupport.createMessageFormatException(e);
+ }
+ }
+
+ public void WriteInt64( long value )
+ {
+ InitializeWriting();
+ try
+ {
+ dataOut.Write( value );
+ }
+ catch(Exception e)
+ {
+ throw NMSExceptionSupport.create(e);
+ }
+ }
+
+ public float ReadSingle()
+ {
+ InitializeReading();
+ try
+ {
+ return dataIn.ReadSingle();
+ }
+ catch(EndOfStreamException e)
+ {
+ throw NMSExceptionSupport.createMessageEOFException(e);
+ }
+ catch(IOException e)
+ {
+ throw NMSExceptionSupport.createMessageFormatException(e);
+ }
+ }
+
+ public void WriteSingle( float value )
+ {
+ InitializeWriting();
+ try
+ {
+ dataOut.Write( value );
+ }
+ catch(Exception e)
+ {
+ throw NMSExceptionSupport.create(e);
+ }
+ }
+
+ public double ReadDouble()
+ {
+ InitializeReading();
+ try
+ {
+ return dataIn.ReadDouble();
+ }
+ catch(EndOfStreamException e)
+ {
+ throw NMSExceptionSupport.createMessageEOFException(e);
+ }
+ catch(IOException e)
+ {
+ throw NMSExceptionSupport.createMessageFormatException(e);
+ }
+ }
+
+ public void WriteDouble( double value )
+ {
+ InitializeWriting();
+ try
+ {
+ dataOut.Write( value );
+ }
+ catch(Exception e)
+ {
+ throw NMSExceptionSupport.create(e);
+ }
+ }
+
+ public int ReadBytes( byte[] value )
+ {
+ InitializeReading();
+ try
+ {
+ return dataIn.Read( value, 0, value.Length );
+ }
+ catch(EndOfStreamException e)
+ {
+ throw NMSExceptionSupport.createMessageEOFException(e);
+ }
+ catch(IOException e)
+ {
+ throw NMSExceptionSupport.createMessageFormatException(e);
+ }
+ }
+
+ public int ReadBytes( byte[] value, int length )
+ {
+ InitializeReading();
+ try
+ {
+ return dataIn.Read( value, 0, length );
+ }
+ catch(EndOfStreamException e)
+ {
+ throw NMSExceptionSupport.createMessageEOFException(e);
+ }
+ catch(IOException e)
+ {
+ throw NMSExceptionSupport.createMessageFormatException(e);
+ }
+ }
+
+ public void WriteBytes( byte[] value )
+ {
+ InitializeWriting();
+ try
+ {
+ dataOut.Write( value, 0, value.Length );
+ }
+ catch(Exception e)
+ {
+ throw NMSExceptionSupport.create(e);
+ }
+ }
+
+ public void WriteBytes( byte[] value, int offset, int length )
+ {
+ InitializeWriting();
+ try
+ {
+ dataOut.Write( value, offset, length );
+ }
+ catch(Exception e)
+ {
+ throw NMSExceptionSupport.create(e);
+ }
+ }
+
+ public string ReadString()
+ {
+ InitializeReading();
+ try
+ {
+ // JMS, CMS and NMS all encode the String using a 16 bit size header.
+ return dataIn.ReadString16();
+ }
+ catch(EndOfStreamException e)
+ {
+ throw NMSExceptionSupport.createMessageEOFException(e);
+ }
+ catch(IOException e)
+ {
+ throw NMSExceptionSupport.createMessageFormatException(e);
+ }
+ }
+
+ public void WriteString( string value )
+ {
+ InitializeWriting();
+ try
+ {
+ // JMS, CMS and NMS all encode the String using a 16 bit size header.
+ dataOut.WriteString16(value);
+ }
+ catch(Exception e)
+ {
+ throw NMSExceptionSupport.create(e);
+ }
+ }
+
+ public void WriteObject( System.Object value )
+ {
+ InitializeWriting();
+ if( value is System.Byte )
+ {
+ this.dataOut.Write( (byte) value );
+ }
+ else if( value is Char )
+ {
+ this.dataOut.Write( (char) value );
+ }
+ else if( value is Boolean )
+ {
+ this.dataOut.Write( (bool) value );
+ }
+ else if( value is Int16 )
+ {
+ this.dataOut.Write( (short) value );
+ }
+ else if( value is Int32 )
+ {
+ this.dataOut.Write( (int) value );
+ }
+ else if( value is Int64 )
+ {
+ this.dataOut.Write( (long) value );
+ }
+ else if( value is Single )
+ {
+ this.dataOut.Write( (float) value );
+ }
+ else if( value is Double )
+ {
+ this.dataOut.Write( (double) value );
+ }
+ else if( value is byte[] )
+ {
+ this.dataOut.Write( (byte[]) value );
+ }
+ else if( value is String )
+ {
+ this.dataOut.WriteString16( (string) value );
+ }
+ else
+ {
+ throw new MessageFormatException("Cannot write non-primitive type:" + value.GetType());
+ }
+ }
+
+ public void Reset()
+ {
+ StoreContent();
+ this.dataIn = null;
+ this.dataOut = null;
+ this.outputBuffer = null;
+ this.ReadOnlyBody = true;
+ }
+
+ private void InitializeReading()
+ {
+ FailIfWriteOnlyBody();
+ if(this.dataIn == null)
+ {
+ if(this.Content != null)
+ {
+ this.length = this.Content.Length;
+ }
+
+ // TODO - Add support for Message Compression.
+ MemoryStream bytesIn = new MemoryStream(this.Content, false);
+ dataIn = new EndianBinaryReader(bytesIn);
+ }
+ }
+
+ private void InitializeWriting()
+ {
+ FailIfReadOnlyBody();
+ if(this.dataOut == null)
+ {
+ // TODO - Add support for Message Compression.
+ this.outputBuffer = new MemoryStream();
+ this.dataOut = new EndianBinaryWriter(outputBuffer);
+ }
+ }
+
+ private void StoreContent()
+ {
+ if( dataOut != null)
+ {
+ dataOut.Close();
+ // TODO - Add support for Message Compression.
+
+ this.Content = outputBuffer.ToArray();
+ this.dataOut = null;
+ this.outputBuffer = null;
+ }
+ }
}
}
Modified: activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/ObjectMessage.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/ObjectMessage.cs?rev=821196&r1=821195&r2=821196&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/ObjectMessage.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/ObjectMessage.cs Fri Oct 2 22:58:05 2009
@@ -30,6 +30,7 @@
#if !(PocketPC||NETCF||NETCF_2_0)
private IFormatter formatter;
#endif
+ public byte[] Content;
public ObjectMessage()
{
Modified: activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/TextMessage.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/TextMessage.cs?rev=821196&r1=821195&r2=821196&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/TextMessage.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/TextMessage.cs Fri Oct 2 22:58:05 2009
@@ -22,6 +22,7 @@
public class TextMessage : BaseMessage, ITextMessage
{
public const int SIZE_OF_INT = 4; // sizeof(int) - though causes unsafe issues with net 1.1
+ public byte[] Content;
private String text;
Modified: activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/IBytesMessage.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/IBytesMessage.cs?rev=821196&r1=821195&r2=821196&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/IBytesMessage.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/IBytesMessage.cs Fri Oct 2 22:58:05 2009
@@ -17,470 +17,470 @@
namespace Apache.NMS
{
/// <summary>
- ///
+ ///
/// A BytesMessage object is used to send a message containing a stream of uninterpreted
- /// bytes. It inherits from the Message interface and adds a bytes message body. The
- /// receiver of the message supplies the interpretation of the bytes.
- ///
- /// This message type is for client encoding of existing message formats. If possible,
- /// one of the other self-defining message types should be used instead.
- ///
- /// Although the NMS API allows the use of message properties with byte messages, they
- /// are typically not used, since the inclusion of properties may affect the format.
- ///
- /// When the message is first created, and when ClearBody is called, the body of the
- /// message is in write-only mode. After the first call to Reset has been made, the
- /// message body is in read-only mode. After a message has been sent, the client that
- /// sent it can retain and modify it without affecting the message that has been sent.
- /// The same message object can be sent multiple times. When a message has been received,
- /// the provider has called Reset so that the message body is in read-only mode for the
- /// client.
- ///
- /// If ClearBody is called on a message in read-only mode, the message body is cleared and
- /// the message is in write-only mode.
- ///
- /// If a client attempts to read a message in write-only mode, a MessageNotReadableException
- /// is thrown.
- ///
- /// If a client attempts to write a message in read-only mode, a MessageNotWriteableException
- /// is thrown.
+ /// bytes. It inherits from the Message interface and adds a bytes message body. The
+ /// receiver of the message supplies the interpretation of the bytes.
+ ///
+ /// This message type is for client encoding of existing message formats. If possible,
+ /// one of the other self-defining message types should be used instead.
+ ///
+ /// Although the NMS API allows the use of message properties with byte messages, they
+ /// are typically not used, since the inclusion of properties may affect the format.
+ ///
+ /// When the message is first created, and when ClearBody is called, the body of the
+ /// message is in write-only mode. After the first call to Reset has been made, the
+ /// message body is in read-only mode. After a message has been sent, the client that
+ /// sent it can retain and modify it without affecting the message that has been sent.
+ /// The same message object can be sent multiple times. When a message has been received,
+ /// the provider has called Reset so that the message body is in read-only mode for the
+ /// client.
+ ///
+ /// If ClearBody is called on a message in read-only mode, the message body is cleared and
+ /// the message is in write-only mode.
+ ///
+ /// If a client attempts to read a message in write-only mode, a MessageNotReadableException
+ /// is thrown.
+ ///
+ /// If a client attempts to write a message in read-only mode, a MessageNotWriteableException
+ /// is thrown.
/// </summary>
public interface IBytesMessage : IMessage
{
byte[] Content { get; set; }
-
- /// <value>
- /// Gets the number of bytes of the message body when the message is in read-only mode.
- /// The value returned can be used to allocate a byte array. The value returned is the
- /// entire length of the message body, regardless of where the pointer for reading the
- /// message is currently located.
- /// </value>
- /// <exception cref="Apache.NMS.MessageNotReadableException">
- /// Thrown when the Message is in write-only mode.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- long BodyLength { get; }
-
- /// <summary>
- /// Reads a byte from the Message Stream.
- /// </summary>
- /// <returns>
- /// A <see cref="System.Byte"/>
- /// </returns>
- /// <exception cref="Apache.NMS.MessageNotReadableException">
- /// Thrown when the Message is in write-only mode.
- /// </exception>
- /// <exception cref="Apache.NMS.MessageEOFException">
- /// Thrown when an unexpected end of bytes has been reached.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- byte ReadByte();
-
- /// <summary>
- /// Writes a byte to the Message stream.
- /// </summary>
- /// <param name="value">
- /// A <see cref="System.Byte"/>
- /// </param>
- /// <exception cref="Apache.NMS.MessageNotWriteableException">
- /// Thrown when the Message is in read-only mode.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- void WriteByte( byte value );
-
- /// <summary>
- /// Reads a boolean from the Message Stream.
- /// </summary>
- /// <returns>
- /// A <see cref="System.Boolean"/>
- /// </returns>
- /// <exception cref="Apache.NMS.MessageNotReadableException">
- /// Thrown when the Message is in write-only mode.
- /// </exception>
- /// <exception cref="Apache.NMS.MessageEOFException">
- /// Thrown when an unexpected end of bytes has been reached.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- bool ReadBoolean();
-
- /// <summary>
- /// Write a one byte value to the message stream representing the boolean
- /// value passed.
- /// </summary>
- /// <param name="value">
- /// A <see cref="System.Boolean"/>
- /// </param>
- /// <exception cref="Apache.NMS.MessageNotWriteableException">
- /// Thrown when the Message is in read-only mode.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- void WriteBoolean( bool value );
-
- /// <summary>
- /// Reads a char from the Message Stream.
- /// </summary>
- /// <returns>
- /// A <see cref="System.Char"/>
- /// </returns>
- /// <exception cref="Apache.NMS.MessageNotReadableException">
- /// Thrown when the Message is in write-only mode.
- /// </exception>
- /// <exception cref="Apache.NMS.MessageEOFException">
- /// Thrown when an unexpected end of bytes has been reached.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- char ReadChar();
-
- /// <summary>
- /// Write a two byte value to the message stream representing the character
- /// value passed. High byte first.
- /// </summary>
- /// <param name="value">
- /// A <see cref="System.Char"/>
- /// </param>
- /// <exception cref="Apache.NMS.MessageNotWriteableException">
- /// Thrown when the Message is in read-only mode.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- void WriteChar( char value );
-
- /// <summary>
- /// Reads a Short from the Message Stream.
- /// </summary>
- /// <returns>
- /// A <see cref="System.Int16"/>
- /// </returns>
- /// <exception cref="Apache.NMS.MessageNotReadableException">
- /// Thrown when the Message is in write-only mode.
- /// </exception>
- /// <exception cref="Apache.NMS.MessageEOFException">
- /// Thrown when an unexpected end of bytes has been reached.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- short ReadInt16();
-
- /// <summary>
- /// Write a two byte value to the message stream representing the short
- /// value passed. High byte first.
- /// </summary>
- /// <param name="value">
- /// A <see cref="System.Int16"/>
- /// </param>
- /// <exception cref="Apache.NMS.MessageNotWriteableException">
- /// Thrown when the Message is in read-only mode.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- void WriteInt16( short value );
-
- /// <summary>
- /// Reads an int from the Message Stream.
- /// </summary>
- /// <returns>
- /// A <see cref="System.Int32"/>
- /// </returns>
- /// <exception cref="Apache.NMS.MessageNotReadableException">
- /// Thrown when the Message is in write-only mode.
- /// </exception>
- /// <exception cref="Apache.NMS.MessageEOFException">
- /// Thrown when an unexpected end of bytes has been reached.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- int ReadInt32();
-
- /// <summary>
- /// Write a four byte value to the message stream representing the integer
- /// value passed. High byte first.
- /// </summary>
- /// <param name="value">
- /// A <see cref="System.Int32"/>
- /// </param>
- /// <exception cref="Apache.NMS.MessageNotWriteableException">
- /// Thrown when the Message is in read-only mode.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- void WriteInt32( int value );
-
- /// <summary>
- /// Reads a long from the Message Stream.
- /// </summary>
- /// <returns>
- /// A <see cref="System.Int64"/>
- /// </returns>
- /// <exception cref="Apache.NMS.MessageNotReadableException">
- /// Thrown when the Message is in write-only mode.
- /// </exception>
- /// <exception cref="Apache.NMS.MessageEOFException">
- /// Thrown when an unexpected end of bytes has been reached.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- long ReadInt64();
-
- /// <summary>
- /// Write a eight byte value to the message stream representing the long
- /// value passed. High byte first.
- /// </summary>
- /// <param name="value">
- /// A <see cref="System.Int64"/>
- /// </param>
- /// <exception cref="Apache.NMS.MessageNotWriteableException">
- /// Thrown when the Message is in read-only mode.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- void WriteInt64( long value );
-
- /// <summary>
- /// Reads a float from the Message Stream.
- /// </summary>
- /// <returns>
- /// A <see cref="System.Single"/>
- /// </returns>
- /// <exception cref="Apache.NMS.MessageNotReadableException">
- /// Thrown when the Message is in write-only mode.
- /// </exception>
- /// <exception cref="Apache.NMS.MessageEOFException">
- /// Thrown when an unexpected end of bytes has been reached.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- float ReadSingle();
-
- /// <summary>
- /// Write a four byte value to the message stream representing the float
- /// value passed. High byte first.
- /// </summary>
- /// <param name="value">
- /// A <see cref="System.Single"/>
- /// </param>
- /// <exception cref="Apache.NMS.MessageNotWriteableException">
- /// Thrown when the Message is in read-only mode.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- void WriteSingle( float value );
-
- /// <summary>
- /// Reads an double from the Message Stream.
- /// </summary>
- /// <returns>
- /// A <see cref="System.Double"/>
- /// </returns>
- /// <exception cref="Apache.NMS.MessageNotReadableException">
- /// Thrown when the Message is in write-only mode.
- /// </exception>
- /// <exception cref="Apache.NMS.MessageEOFException">
- /// Thrown when an unexpected end of bytes has been reached.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- double ReadDouble();
-
- /// <summary>
- /// Write a eight byte value to the message stream representing the double
- /// value passed. High byte first.
- /// </summary>
- /// <param name="value">
- /// A <see cref="System.Double"/>
- /// </param>
- /// <exception cref="Apache.NMS.MessageNotWriteableException">
- /// Thrown when the Message is in read-only mode.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- void WriteDouble( double value );
-
- /// <summary>
- /// Reads a byte array from the bytes message stream.
- ///
- /// If the length of array value is less than the number of bytes remaining to
- /// be read from the stream, the array should be filled. A subsequent call reads
- /// the next increment, and so on.
- ///
- /// If the number of bytes remaining in the stream is less than the length of array
- /// value, the bytes should be read into the array. The return value of the total number
- /// of bytes read will be less than the length of the array, indicating that there are
- /// no more bytes left to be read from the stream. The next read of the stream returns -1.
- /// </summary>
- /// <param name="value">
- /// The byte array that will be used as a buffer to read into.
- /// </param>
- /// <returns>
- /// A <see cref="System.Int32"/>
- /// The number of bytes read into the passed byte array, or -1 if there are no more
- /// bytes left to be read from the stream.
- /// </returns>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- /// <exception cref="Apache.NMS.MessageNotReadableException">
- /// Thrown when the Message is in write-only mode.
- /// </exception>
- int ReadBytes( byte[] value );
-
- /// <summary>
- /// Reads a portion of the bytes message stream.
- ///
- /// If the length of array value is less than the number of bytes remaining to be
- /// read from the stream, the array should be filled. A subsequent call reads the
- /// next increment, and so on.
- ///
- /// If the number of bytes remaining in the stream is less than the length of array
- /// value, the bytes should be read into the array. The return value of the total
- /// number of bytes read will be less than the length of the array, indicating that
- /// there are no more bytes left to be read from the stream. The next read of the
- /// stream returns -1.
- ///
- /// If length is negative, or length is greater than the length of the array value,
- /// then an Exception is thrown. No bytes will be read from the stream for this
- /// exception case.
- /// </summary>
- /// <param name="value">
- /// The byte array that will be used as a buffer to read into.
- /// </param>
- /// <param name="length">
- /// The amount of bytes to read into the buffer.
- /// </param>
- /// <returns>
- /// A <see cref="System.Int32"/>
- /// The number of bytes read into the passed byte array, or -1 if there are no more
- /// bytes left to be read from the stream.
- /// </returns>
- /// <exception cref="Apache.NMS.MessageNotReadableException">
- /// Thrown when the Message is in write-only mode.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- int ReadBytes( byte[] value, int length );
-
- /// <summary>
- /// Writes a byte array to the bytes message stream.
- /// </summary>
- /// <param name="value">
- /// A <see cref="System.Byte"/>
- /// </param>
- /// <exception cref="Apache.NMS.MessageNotWriteableException">
- /// Thrown when the Message is in read-only mode.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- void WriteBytes( byte[] value );
-
- /// <summary>
- /// Writes a portion of a byte array to the bytes message stream.
- /// </summary>
- /// <param name="value">
- /// A <see cref="System.Byte"/>
- /// </param>
- /// <param name="offset">
- /// A <see cref="System.Int32"/>
- /// </param>
- /// <param name="length">
- /// A <see cref="System.Int32"/>
- /// </param>
- /// <exception cref="Apache.NMS.MessageNotWriteableException">
- /// Thrown when the Message is in read-only mode.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- void WriteBytes( byte[] value, int offset, int length );
-
- /// <summary>
- /// Reads a string that has been encoded using a modified UTF-8 format from the bytes
- /// message stream.
- /// </summary>
- /// <returns>
- /// A <see cref="System.String"/>
- /// </returns>
- /// <exception cref="Apache.NMS.MessageNotReadableException">
- /// Thrown when the Message is in write-only mode.
- /// </exception>
- /// <exception cref="Apache.NMS.MessageEOFException">
- /// Thrown when an unexpected end of bytes has been reached.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- string ReadString();
-
- /// <summary>
- /// Writes a string to the bytes message stream using UTF-8 encoding in a
- /// machine-independent manner.
- /// </summary>
- /// <param name="value">
- /// A <see cref="System.String"/>
- /// </param>
- /// <exception cref="Apache.NMS.MessageNotWriteableException">
- /// Thrown when the Message is in read-only mode.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- void WriteString( string value );
-
- /// <summary>
- /// Writes an object to the bytes message stream.
- ///
- /// This method works only for the objectified primitive object types
- /// (Int32, Double, Boolean ...), String objects, and byte arrays.
- /// </summary>
- /// <param name="value">
- /// A <see cref="System.Object"/>
- /// the object in the .NET programming language to be written; it must not be null
- /// </param>
- /// <exception cref="Apache.NMS.MessageFormatException">
- /// Thrown when the Message has an invalid format.
- /// </exception>
- /// <exception cref="Apache.NMS.MessageNotWriteableException">
- /// Thrown when the Message is in read-only mode.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- void WriteObject( System.Object value );
-
- /// <summary>
- /// Puts the message body in read-only mode and repositions the stream of bytes to the beginning.
- /// </summary>
- /// <exception cref="Apache.NMS.MessageFormatException">
- /// Thrown when the Message has an invalid format.
- /// </exception>
- /// <exception cref="Apache.NMS.NMSException">
- /// Thrown when there is an unhandled exception thrown from the provider.
- /// </exception>
- void Reset();
-
+
+ /// <value>
+ /// Gets the number of bytes of the message body when the message is in read-only mode.
+ /// The value returned can be used to allocate a byte array. The value returned is the
+ /// entire length of the message body, regardless of where the pointer for reading the
+ /// message is currently located.
+ /// </value>
+ /// <exception cref="Apache.NMS.MessageNotReadableException">
+ /// Thrown when the Message is in write-only mode.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ long BodyLength { get; }
+
+ /// <summary>
+ /// Reads a byte from the Message Stream.
+ /// </summary>
+ /// <returns>
+ /// A <see cref="System.Byte"/>
+ /// </returns>
+ /// <exception cref="Apache.NMS.MessageNotReadableException">
+ /// Thrown when the Message is in write-only mode.
+ /// </exception>
+ /// <exception cref="Apache.NMS.MessageEOFException">
+ /// Thrown when an unexpected end of bytes has been reached.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ byte ReadByte();
+
+ /// <summary>
+ /// Writes a byte to the Message stream.
+ /// </summary>
+ /// <param name="value">
+ /// A <see cref="System.Byte"/>
+ /// </param>
+ /// <exception cref="Apache.NMS.MessageNotWriteableException">
+ /// Thrown when the Message is in read-only mode.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ void WriteByte( byte value );
+
+ /// <summary>
+ /// Reads a boolean from the Message Stream.
+ /// </summary>
+ /// <returns>
+ /// A <see cref="System.Boolean"/>
+ /// </returns>
+ /// <exception cref="Apache.NMS.MessageNotReadableException">
+ /// Thrown when the Message is in write-only mode.
+ /// </exception>
+ /// <exception cref="Apache.NMS.MessageEOFException">
+ /// Thrown when an unexpected end of bytes has been reached.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ bool ReadBoolean();
+
+ /// <summary>
+ /// Write a one byte value to the message stream representing the boolean
+ /// value passed.
+ /// </summary>
+ /// <param name="value">
+ /// A <see cref="System.Boolean"/>
+ /// </param>
+ /// <exception cref="Apache.NMS.MessageNotWriteableException">
+ /// Thrown when the Message is in read-only mode.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ void WriteBoolean( bool value );
+
+ /// <summary>
+ /// Reads a char from the Message Stream.
+ /// </summary>
+ /// <returns>
+ /// A <see cref="System.Char"/>
+ /// </returns>
+ /// <exception cref="Apache.NMS.MessageNotReadableException">
+ /// Thrown when the Message is in write-only mode.
+ /// </exception>
+ /// <exception cref="Apache.NMS.MessageEOFException">
+ /// Thrown when an unexpected end of bytes has been reached.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ char ReadChar();
+
+ /// <summary>
+ /// Write a two byte value to the message stream representing the character
+ /// value passed. High byte first.
+ /// </summary>
+ /// <param name="value">
+ /// A <see cref="System.Char"/>
+ /// </param>
+ /// <exception cref="Apache.NMS.MessageNotWriteableException">
+ /// Thrown when the Message is in read-only mode.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ void WriteChar( char value );
+
+ /// <summary>
+ /// Reads a Short from the Message Stream.
+ /// </summary>
+ /// <returns>
+ /// A <see cref="System.Int16"/>
+ /// </returns>
+ /// <exception cref="Apache.NMS.MessageNotReadableException">
+ /// Thrown when the Message is in write-only mode.
+ /// </exception>
+ /// <exception cref="Apache.NMS.MessageEOFException">
+ /// Thrown when an unexpected end of bytes has been reached.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ short ReadInt16();
+
+ /// <summary>
+ /// Write a two byte value to the message stream representing the short
+ /// value passed. High byte first.
+ /// </summary>
+ /// <param name="value">
+ /// A <see cref="System.Int16"/>
+ /// </param>
+ /// <exception cref="Apache.NMS.MessageNotWriteableException">
+ /// Thrown when the Message is in read-only mode.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ void WriteInt16( short value );
+
+ /// <summary>
+ /// Reads an int from the Message Stream.
+ /// </summary>
+ /// <returns>
+ /// A <see cref="System.Int32"/>
+ /// </returns>
+ /// <exception cref="Apache.NMS.MessageNotReadableException">
+ /// Thrown when the Message is in write-only mode.
+ /// </exception>
+ /// <exception cref="Apache.NMS.MessageEOFException">
+ /// Thrown when an unexpected end of bytes has been reached.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ int ReadInt32();
+
+ /// <summary>
+ /// Write a four byte value to the message stream representing the integer
+ /// value passed. High byte first.
+ /// </summary>
+ /// <param name="value">
+ /// A <see cref="System.Int32"/>
+ /// </param>
+ /// <exception cref="Apache.NMS.MessageNotWriteableException">
+ /// Thrown when the Message is in read-only mode.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ void WriteInt32( int value );
+
+ /// <summary>
+ /// Reads a long from the Message Stream.
+ /// </summary>
+ /// <returns>
+ /// A <see cref="System.Int64"/>
+ /// </returns>
+ /// <exception cref="Apache.NMS.MessageNotReadableException">
+ /// Thrown when the Message is in write-only mode.
+ /// </exception>
+ /// <exception cref="Apache.NMS.MessageEOFException">
+ /// Thrown when an unexpected end of bytes has been reached.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ long ReadInt64();
+
+ /// <summary>
+ /// Write a eight byte value to the message stream representing the long
+ /// value passed. High byte first.
+ /// </summary>
+ /// <param name="value">
+ /// A <see cref="System.Int64"/>
+ /// </param>
+ /// <exception cref="Apache.NMS.MessageNotWriteableException">
+ /// Thrown when the Message is in read-only mode.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ void WriteInt64( long value );
+
+ /// <summary>
+ /// Reads a float from the Message Stream.
+ /// </summary>
+ /// <returns>
+ /// A <see cref="System.Single"/>
+ /// </returns>
+ /// <exception cref="Apache.NMS.MessageNotReadableException">
+ /// Thrown when the Message is in write-only mode.
+ /// </exception>
+ /// <exception cref="Apache.NMS.MessageEOFException">
+ /// Thrown when an unexpected end of bytes has been reached.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ float ReadSingle();
+
+ /// <summary>
+ /// Write a four byte value to the message stream representing the float
+ /// value passed. High byte first.
+ /// </summary>
+ /// <param name="value">
+ /// A <see cref="System.Single"/>
+ /// </param>
+ /// <exception cref="Apache.NMS.MessageNotWriteableException">
+ /// Thrown when the Message is in read-only mode.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ void WriteSingle( float value );
+
+ /// <summary>
+ /// Reads an double from the Message Stream.
+ /// </summary>
+ /// <returns>
+ /// A <see cref="System.Double"/>
+ /// </returns>
+ /// <exception cref="Apache.NMS.MessageNotReadableException">
+ /// Thrown when the Message is in write-only mode.
+ /// </exception>
+ /// <exception cref="Apache.NMS.MessageEOFException">
+ /// Thrown when an unexpected end of bytes has been reached.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ double ReadDouble();
+
+ /// <summary>
+ /// Write a eight byte value to the message stream representing the double
+ /// value passed. High byte first.
+ /// </summary>
+ /// <param name="value">
+ /// A <see cref="System.Double"/>
+ /// </param>
+ /// <exception cref="Apache.NMS.MessageNotWriteableException">
+ /// Thrown when the Message is in read-only mode.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ void WriteDouble( double value );
+
+ /// <summary>
+ /// Reads a byte array from the bytes message stream.
+ ///
+ /// If the length of array value is less than the number of bytes remaining to
+ /// be read from the stream, the array should be filled. A subsequent call reads
+ /// the next increment, and so on.
+ ///
+ /// If the number of bytes remaining in the stream is less than the length of array
+ /// value, the bytes should be read into the array. The return value of the total number
+ /// of bytes read will be less than the length of the array, indicating that there are
+ /// no more bytes left to be read from the stream. The next read of the stream returns -1.
+ /// </summary>
+ /// <param name="value">
+ /// The byte array that will be used as a buffer to read into.
+ /// </param>
+ /// <returns>
+ /// A <see cref="System.Int32"/>
+ /// The number of bytes read into the passed byte array, or -1 if there are no more
+ /// bytes left to be read from the stream.
+ /// </returns>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ /// <exception cref="Apache.NMS.MessageNotReadableException">
+ /// Thrown when the Message is in write-only mode.
+ /// </exception>
+ int ReadBytes( byte[] value );
+
+ /// <summary>
+ /// Reads a portion of the bytes message stream.
+ ///
+ /// If the length of array value is less than the number of bytes remaining to be
+ /// read from the stream, the array should be filled. A subsequent call reads the
+ /// next increment, and so on.
+ ///
+ /// If the number of bytes remaining in the stream is less than the length of array
+ /// value, the bytes should be read into the array. The return value of the total
+ /// number of bytes read will be less than the length of the array, indicating that
+ /// there are no more bytes left to be read from the stream. The next read of the
+ /// stream returns -1.
+ ///
+ /// If length is negative, or length is greater than the length of the array value,
+ /// then an Exception is thrown. No bytes will be read from the stream for this
+ /// exception case.
+ /// </summary>
+ /// <param name="value">
+ /// The byte array that will be used as a buffer to read into.
+ /// </param>
+ /// <param name="length">
+ /// The amount of bytes to read into the buffer.
+ /// </param>
+ /// <returns>
+ /// A <see cref="System.Int32"/>
+ /// The number of bytes read into the passed byte array, or -1 if there are no more
+ /// bytes left to be read from the stream.
+ /// </returns>
+ /// <exception cref="Apache.NMS.MessageNotReadableException">
+ /// Thrown when the Message is in write-only mode.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ int ReadBytes( byte[] value, int length );
+
+ /// <summary>
+ /// Writes a byte array to the bytes message stream.
+ /// </summary>
+ /// <param name="value">
+ /// A <see cref="System.Byte"/>
+ /// </param>
+ /// <exception cref="Apache.NMS.MessageNotWriteableException">
+ /// Thrown when the Message is in read-only mode.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ void WriteBytes( byte[] value );
+
+ /// <summary>
+ /// Writes a portion of a byte array to the bytes message stream.
+ /// </summary>
+ /// <param name="value">
+ /// A <see cref="System.Byte"/>
+ /// </param>
+ /// <param name="offset">
+ /// A <see cref="System.Int32"/>
+ /// </param>
+ /// <param name="length">
+ /// A <see cref="System.Int32"/>
+ /// </param>
+ /// <exception cref="Apache.NMS.MessageNotWriteableException">
+ /// Thrown when the Message is in read-only mode.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ void WriteBytes( byte[] value, int offset, int length );
+
+ /// <summary>
+ /// Reads a string that has been encoded using a modified UTF-8 format from the bytes
+ /// message stream.
+ /// </summary>
+ /// <returns>
+ /// A <see cref="System.String"/>
+ /// </returns>
+ /// <exception cref="Apache.NMS.MessageNotReadableException">
+ /// Thrown when the Message is in write-only mode.
+ /// </exception>
+ /// <exception cref="Apache.NMS.MessageEOFException">
+ /// Thrown when an unexpected end of bytes has been reached.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ string ReadString();
+
+ /// <summary>
+ /// Writes a string to the bytes message stream using UTF-8 encoding in a
+ /// machine-independent manner.
+ /// </summary>
+ /// <param name="value">
+ /// A <see cref="System.String"/>
+ /// </param>
+ /// <exception cref="Apache.NMS.MessageNotWriteableException">
+ /// Thrown when the Message is in read-only mode.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ void WriteString( string value );
+
+ /// <summary>
+ /// Writes an object to the bytes message stream.
+ ///
+ /// This method works only for the objectified primitive object types
+ /// (Int32, Double, Boolean ...), String objects, and byte arrays.
+ /// </summary>
+ /// <param name="value">
+ /// A <see cref="System.Object"/>
+ /// the object in the .NET programming language to be written; it must not be null
+ /// </param>
+ /// <exception cref="Apache.NMS.MessageFormatException">
+ /// Thrown when the Message has an invalid format.
+ /// </exception>
+ /// <exception cref="Apache.NMS.MessageNotWriteableException">
+ /// Thrown when the Message is in read-only mode.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ void WriteObject( System.Object value );
+
+ /// <summary>
+ /// Puts the message body in read-only mode and repositions the stream of bytes to the beginning.
+ /// </summary>
+ /// <exception cref="Apache.NMS.MessageFormatException">
+ /// Thrown when the Message has an invalid format.
+ /// </exception>
+ /// <exception cref="Apache.NMS.NMSException">
+ /// Thrown when there is an unhandled exception thrown from the provider.
+ /// </exception>
+ void Reset();
+
}
}
Modified: activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/IMessage.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/IMessage.cs?rev=821196&r1=821195&r2=821196&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/IMessage.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/IMessage.cs Fri Oct 2 22:58:05 2009
@@ -28,74 +28,74 @@
/// message has been processed correctly.
/// </summary>
void Acknowledge();
-
- /// <summary>
- /// Clears out the message body. Clearing a message's body does not clear its header
- /// values or property entries.
- ///
- /// If this message body was read-only, calling this method leaves the message body in
- /// the same state as an empty body in a newly created message.
- /// </summary>
- void ClearBody();
-
- /// <summary>
- /// Clears a message's properties.
- ///
- /// The message's header fields and body are not cleared.
- /// </summary>
- void ClearProperties();
-
+
+ /// <summary>
+ /// Clears out the message body. Clearing a message's body does not clear its header
+ /// values or property entries.
+ ///
+ /// If this message body was read-only, calling this method leaves the message body in
+ /// the same state as an empty body in a newly created message.
+ /// </summary>
+ void ClearBody();
+
+ /// <summary>
+ /// Clears a message's properties.
+ ///
+ /// The message's header fields and body are not cleared.
+ /// </summary>
+ void ClearProperties();
+
/// <summary>
/// Provides access to the message properties (headers).
/// </summary>
IPrimitiveMap Properties { get; }
-
+
/// <summary>
/// The correlation ID used to correlate messages from conversations or long running business processes.
/// </summary>
string NMSCorrelationID { get; set; }
-
+
/// <summary>
/// The destination of the message. This property is set by the IMessageProducer.
/// </summary>
IDestination NMSDestination { get; }
-
+
/// <summary>
/// The amount of time for which this message is valid. Zero if this message does not expire.
/// </summary>
TimeSpan NMSTimeToLive { get; set; }
-
+
/// <summary>
/// The message ID which is set by the provider.
/// </summary>
string NMSMessageId { get; }
-
+
/// <summary>
/// Whether or not this message is persistent.
/// </summary>
MsgDeliveryMode NMSDeliveryMode { get; set; }
-
+
/// <summary>
/// The Priority of this message.
/// </summary>
MsgPriority NMSPriority { get; set; }
-
+
/// <summary>
/// Returns true if this message has been redelivered to this or another consumer before being acknowledged successfully.
/// </summary>
bool NMSRedelivered { get; }
-
+
/// <summary>
/// The destination that the consumer of this message should send replies to
/// </summary>
IDestination NMSReplyTo { get; set; }
-
+
/// <summary>
- /// The timestamp of when the message was pubished in UTC time. If the publisher disables setting
+ /// The timestamp of when the message was pubished in UTC time. If the publisher disables setting
/// the timestamp on the message, the time will be set to the start of the UNIX epoc (1970-01-01 00:00:00).
/// </summary>
DateTime NMSTimestamp { get; }
-
+
/// <summary>
/// The type name of this message.
/// </summary>