Tomas, when I built this using the build-dotnet11 script it complained
(with an error not just a warning), that exposing an unsigned byte in
a public API would make the library non-CLS compliant. So I commented
out the Get/SetSByte method declarations in IHeaders for the moment.
Do you think that we should be trying to keep CLS compliance? If its
not important, I guess its possible to change the build-dotnet11
script to reduce this to a warning and ignore it. If retaining CLS
compliance is important, maybe we'll have to do something like we will
have to do in Java and pass the unsigned byte as a short?

Rupert

On 2/26/07, Rupert Smith <[EMAIL PROTECTED]> wrote:
Nice, good to see that useless stack of buffer implementations dissappear.

Yeah, I was just thinking about the different byte conventions in java
and .net. I suppose at some point the Qpid API is going to have to be
normalized over all clients. I can imagine there being explicit
set/getSignedByte and set/getUnsignedByte or similar because there
isn't a default convention that agrees between the different
languages. The slightly annoying thing with java is that an unsigned
byte will need to be a short and so on. And then what to do with an
unsigned long? BigInteger, I suppose.

Good work with the patch, I haven't applied it yet but I'm feeling a
lot more confident this is going to fly now.

Rupert

On 2/26/07, Tomas Restrepo <[EMAIL PROTECTED]> wrote:
> Also, you'll need to run the scripts again to rebuild the generated framing
> code form the protocol spec before the solution will compile.
>
>
> > -----Original Message-----
> > From: Tomas Restrepo [mailto:[EMAIL PROTECTED]
> > Sent: Monday, February 26, 2007 9:29 AM
> > To: [email protected]
> > Subject: RE: ByteBuffer in .NET Client
> >
> > Hi Rupert,
> >
> > > Tomas, would you be able to send your patch to this list? I can't get
> > > to the ASF JIRA site at all at the moment.
> >
> > Attaching it, as I can't get to JIRA either.
> >
> > Some comments:
> > - I tested and was able to interop custom message headers for Boolean,
> > byte, short, int, long, float, double and string. One thing to note here
> is
> > that on the .NET side you'll need to use the new overload for GetSByte()
> > and
> > SetSByte() instead of GetByte/SetByte in QpidHeaders because the java code
> > uses signed bytes. I'm not sure yet if we want to work around this issue
> in
> > another way.
> >
> > - If the patch doesn't do it, you'll have to manually delete the following
> > files from Qpid.Buffer which are no longer needed:
> > D      Qpid.Buffer\FixedByteBuffer.cs
> > D      Qpid.Buffer\BufferDataException.cs
> > D      Qpid.Buffer\BaseByteBuffer.cs
> > D      Qpid.Buffer\HeapByteBuffer.cs
> > D      Qpid.Buffer\ByteBufferProxy.cs
> >
> > If you run into any issues, let me know, I'll help you out!
> >
> >
> > Tomas Restrepo
> > [EMAIL PROTECTED]
> > http://www.winterdom.com/weblog/
> >
> >
>
>
>

Reply via email to