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/ > > > > > > >
