diff options
| author | Steven Shaw <steshaw@apache.org> | 2006-11-29 05:51:43 +0000 |
|---|---|---|
| committer | Steven Shaw <steshaw@apache.org> | 2006-11-29 05:51:43 +0000 |
| commit | 1df5c37bfa8fe1ec20e41dfd2bb06bc10a790917 (patch) | |
| tree | 8012603b18bae10e2c781debf36a5cd9b7e89bb6 /dotnet/Qpid.Client/Client/Message/QpidBytesMessageFactory.cs | |
| parent | 74abf7b06d6d3d4d291f87d750500ceded74dd1b (diff) | |
| download | qpid-python-1df5c37bfa8fe1ec20e41dfd2bb06bc10a790917.tar.gz | |
QPID-137. First stab at porting enough to get AutoAcknowledge mode working.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@480423 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'dotnet/Qpid.Client/Client/Message/QpidBytesMessageFactory.cs')
| -rw-r--r-- | dotnet/Qpid.Client/Client/Message/QpidBytesMessageFactory.cs | 56 |
1 files changed, 34 insertions, 22 deletions
diff --git a/dotnet/Qpid.Client/Client/Message/QpidBytesMessageFactory.cs b/dotnet/Qpid.Client/Client/Message/QpidBytesMessageFactory.cs index 3f2a6c531f..de4c6675c7 100644 --- a/dotnet/Qpid.Client/Client/Message/QpidBytesMessageFactory.cs +++ b/dotnet/Qpid.Client/Client/Message/QpidBytesMessageFactory.cs @@ -21,40 +21,52 @@ using System; using System.Collections; using Qpid.Framing; +using Qpid.Buffer; namespace Qpid.Client.Message { public class QpidBytesMessageFactory : AbstractQmsMessageFactory { - protected override AbstractQmsMessage CreateMessageWithBody(ulong messageNbr, - ContentHeaderBody contentHeader, - IList bodies) + //protected override AbstractQmsMessage CreateMessageWithBody(long messageNbr, + // ContentHeaderBody contentHeader, + // IList bodies) + //{ + // byte[] data; + + // // we optimise the non-fragmented case to avoid copying + // if (bodies != null && bodies.Count == 1) + // { + // data = ((ContentBody)bodies[0]).Payload; + // } + // else + // { + // data = new byte[(long)contentHeader.BodySize]; + // int currentPosition = 0; + // foreach (ContentBody cb in bodies) + // { + // Array.Copy(cb.Payload, 0, data, currentPosition, cb.Payload.Length); + // currentPosition += cb.Payload.Length; + // } + // } + + // return new QpidBytesMessage(messageNbr, data, contentHeader); + //} + + //public override AbstractQmsMessage CreateMessage() + //{ + // return new QpidBytesMessage(); + //} + + protected override AbstractQmsMessage CreateMessage(long deliveryTag, ByteBuffer data, ContentHeaderBody contentHeader) { - byte[] data; - - // we optimise the non-fragmented case to avoid copying - if (bodies != null && bodies.Count == 1) - { - data = ((ContentBody)bodies[0]).Payload; - } - else - { - data = new byte[(long)contentHeader.BodySize]; - int currentPosition = 0; - foreach (ContentBody cb in bodies) - { - Array.Copy(cb.Payload, 0, data, currentPosition, cb.Payload.Length); - currentPosition += cb.Payload.Length; - } - } - - return new QpidBytesMessage(messageNbr, data, contentHeader); + return new QpidBytesMessage(deliveryTag, contentHeader, data); } public override AbstractQmsMessage CreateMessage() { return new QpidBytesMessage(); } + } } |
