Finance-Bitcoin-Feed

 view release on metacpan or  search on metacpan

lib/Finance/Bitcoin/Feed/Site/CoinSetter/Socket.pm  view on Meta::CPAN

    my @packets = ('disconnect', 'connect', 'heartbeat', 'message', 'json', 'event', 'ack', 'error', 'noop');

    my $regexp = qr/([^:]+):([0-9]+)?(\+)?:([^:]+)?:?([\s\S]*)?/;

    my @pieces = $data =~ $regexp;
    return {} unless @pieces;
    my $id = $pieces[1] || '';
    $data = $pieces[4] || '';
    my $packet = {
        type     => $packets[$pieces[0]],
        endpoint => $pieces[3] || '',
    };

    # whether we need to acknowledge the packet
    if ($id) {
        $packet->{id} = $id;
        if ($pieces[3]) {
            $packet->{ack} = 'data';
        } else {
            $packet->{ack} = 'true';
        }



( run in 1.946 second using v1.01-cache-2.11-cpan-2b1a40005be )