← Back to team overview

graphite-dev team mailing list archive

[Question #192159]: Perl Pickle Client

 

New question #192159 on Graphite:
https://answers.launchpad.net/graphite/+question/192159

If anyone is interested. I couldn't find one. (apologies if this is not the correct place to post this)  I posted the question 
here: http://stackoverflow.com/questions/9829539/perl-equivlent-to-this-python-code
I've been testing it and haven't seen any problems so far.  

#!/usr/bin/perl
#
use IO::Socket::INET;
use Python::Serialise::Pickle qw();


my($carbon_server) = '127.0.0.1';
my($carbon_port)   = 2004;

my($data) = [
             ["path.mytest", [1332444075,27893687]],
             ["path.mytest", [1332444076,938.435]],
            ];

my($message) = pack("N/a*", pickle_dumps($data));

my($sock) = IO::Socket::INET->new (
                PeerAddr => $carbon_server,
                PeerPort => $carbon_port,
                Proto => 'tcp'
            );
            die "Unable to connect: $!\n" unless ($sock->connected);

$sock->send($message);
$sock->shutdown(2);

# Work around P::S::Pickle 0.01's extremely limiting interface.
sub pickle_dumps {
   open(my $fh, '>', \my $s) or die $!;
   my $pickle = bless({ _fh => $fh }, 'Python::Serialise::Pickle');
   $pickle->dump($_[0]);
   $pickle->close();
   return $s;
}


-- 
You received this question notification because you are a member of
graphite-dev, which is an answer contact for Graphite.