Revision 4 (by moose, 2009/02/13 04:09:19) * add msgtest2.pl test for new highlevel api
* separate XS into Message and Item related code
* remove Makefile.old from svn
* add encode/decode support to hl CSE::Proto::Message class
* convert CSE::Proto::C::Item to use a simple blessed pointer instead of a hashref holding the handle
* fix CSE::Proto::Message::Item::clone to properly clone the value, not just copy an ARRAY ref
* add support for MESSAGE type items in the parser
#!/usr/bin/perl

use strict;
use warnings;

use CSE::Proto::C::Message;
use CSE::Proto::C::Item;

my $obj = CSE::Proto::C::Message->new(buckets => 3);
if(!$obj) {
	print("new failed\n");
}

my $item = CSE::Proto::C::Item->new(key => 0, type => CSE::Proto::C::Item::TYPE_STRING, value => "I love me!");
if(!defined $item) {
	print("item creation failed..\n");
}

$obj->add_item($item);

my $data = $obj->encode();

my $proto = CSE::Proto::C::Message->new(buckets => 3);

my $decoded_len = $proto->decode($data);

if(length $data != $decoded_len) {
   die "data_len != decoded_len :(\n";
}

$item = $proto->get_item(0);

print $item."\n";