Mercurial > projects > ldc
view tango/tango/io/protocol/PickleProtocol.d @ 136:0e28624814e8 trunk
[svn r140] did a lot of the work towards being able to pass multiple modules on the command line. not complete yet though
author | lindquist |
---|---|
date | Thu, 17 Jan 2008 03:15:12 +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); } }