Net::Stomp::MooseHelpers::ReadTrace - class to read the output of Net::Stomp::MooseHelpers::TraceStomp
version 3.0
my $reader = Net::Stomp::MooseHelpers::ReadTrace->new({ trace_basedir => '/tmp/mq', }); my @frames = $reader->sorted_frames('/queue/somewhere');
Net::Stomp::MooseHelpers::TraceStomp and Net::Stomp::MooseHelpers::TraceOnly write STOMP frames to disk. This class helps you read them back.
trace_basedir
The directory from which frames will be read. Accepts strings and Path::Class::Dir objects.
read_frame_from_filename
my $stomp_frame = $reader->read_frame_from_filename('/a/path');
Given a filename (unrelated to "trace_basedir"), returns a Net::Stomp::Frame object parsed from it, using "read_frame_from_fh".
read_frame_from_fh
my $stomp_frame = $reader->read_frame_from_fh($fh);
Given a filehandle (binmode it first!), returns a Net::Stomp::Frame object parsed from it. If the filehandle contains more than one frame, reads the first one and leaves the read position just after it.
binmode
If the file was not a dumped STOMP frame, this function will probably return nothing; if it looked enough like a STOMP frame, you'll get back whatever could be parsed.
trace_subdir_for_destination
my $dir = $reader->trace_subdir_for_destination($destination);
Returns a Path::Class::Dir object pointing at the (possibly non-existent) directory used to store frames for the given destination.
->trace_subdir_for_destination() is the same as ->trace_basedir.
->trace_subdir_for_destination()
->trace_basedir
Passing an explicit undef or an empty string will throw an exception, see "sorted_filenames" and "clear_destination" for the reason.
undef
sorted_filenames
my @names = $reader->sorted_filenames(); my @names = $reader->sorted_filenames($destination);
Given a destination (/queue/something or similar), returns all frame dump filenames found under the corresponding dump directory under "trace_basedir", sorted by filename (that is, by timestamp).
/queue/something
If you don't specify a destination, all filenames from all destinations will be returned. Passing an explicit undef or an empty string will throw an exception, to save you when you try doing things like:
my $dest = get_something_from_config; my @names = $reader->sorted_filenames($dest);
and end up getting way more items than you thought.
clear_destination
$reader->clear_destination(); $reader->clear_destination($destination);
Given a destination (/queue/something or similar), removes all stored frames for it.
If you don't specify a destination, all frames for all destinations will be removed. Passing an explicit undef or an empty string will throw an exception, to save you when you try doing things like:
my $dest = get_something_from_config; $reader->clear_destination($dest);
and end up deleting way more than you thought.
sorted_frames
my @frames = $reader->sorted_frames(); my @frames = $reader->sorted_frames($destination);
Same as "sorted_filenames", but returns the parsed frames instead of the filenames.
Gianni Ceccarelli <gianni.ceccarelli@net-a-porter.com>
This software is copyright (c) 2014 by Net-a-porter.com.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Net::Stomp::MooseHelpers, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Net::Stomp::MooseHelpers
CPAN shell
perl -MCPAN -e shell install Net::Stomp::MooseHelpers
For more information on module installation, please visit the detailed CPAN module installation guide.