view tango/tango/io/protocol/PickleProtocol.d @ 137:ce7b81fb957f trunk

[svn r141] fixed more problems with classinfo moved more IR state out of the AST classes
author lindquist
date Fri, 18 Jan 2008 16:42:16 +0100
parents 1700239cab2e
children
line wrap: on
line source

/*******************************************************************************

        copyright:      Copyright (c) 2007 Kris Bell. All rights reserved

        license:        BSD style: $(LICENSE)

        version:        Jan 2007 : initial release
        
        author:         Kris 

*******************************************************************************/

module tango.io.protocol.PickleProtocol;

/*******************************************************************************

*******************************************************************************/

version (BigEndian)
        {
        private import tango.io.protocol.NativeProtocol;
        public alias NativeProtocol PickleProtocol;
        }
     else
        {
        private import tango.io.protocol.EndianProtocol;
        public alias EndianProtocol PickleProtocol;
        }


/*******************************************************************************

*******************************************************************************/

debug (UnitTest)
{
        import tango.io.Buffer;

        unittest
        {
                int test = 0xcc55ff00;
                
                auto protocol = new PickleProtocol (new Buffer(32));
                protocol.write (&test, test.sizeof, protocol.Type.Int);

                auto ptr = protocol.buffer.slice (test.sizeof, false).ptr;
                protocol.read  (&test, test.sizeof, protocol.Type.Int);
                
                assert (test == 0xcc55ff00);
                
                version (LittleEndian)
                         assert (*cast(int*) ptr == 0x00ff55cc);
        }
}