Re: POE::Wheel::FollowTail to read binary records!?!

Rocco Caputo <[email protected]>
Newsgroups gmane.comp.lang.perl.poe
Message-ID <[email protected]>
The use case seems to treat 0xfefefefe as a record separator.  In this  
case, I would use POE::Filter::Line->new(Literal => "\xfe\xfe\xfe\xfe").

How do you guarantee you have a complete record without some kind of  
length prefix or terminator?  Running out of octets in $data doesn't  
guarantee that it ended on a record boundary.

-- 
Rocco Caputo - [email protected]

On Mar 16, 2009, at 17:47, Craig Votava wrote:

> Being lazy, I was hoping I could just define a different filter for  
> POE::Wheel::FollowTail, that instead of being line oriented, would  
> be record oriented (each record begins with 0xfefefefe).
>
> I currently have a binary parser that can parse the data. Assuming  
> the binary data is slurped up into the scalar "$data", the following  
> code works great:
>
> while($data) {
> 	# Find next beginning-of-record flag & extract record...
> 	$data =~ s/^[^\xfe]*(\xfe\xfe\xfe\xfe[^\xfe]+)// || die "No luck";
> 	my $event=$1;
>
> 	# Send record to parser...
> 	$parser->parse( $event );
>
> 	# Print restult...
> 	print "events DUMP:\n", Dumper($parser->{events}), "\n";
> }
>
> Being very new to POE and filters, is there something already  
> existing that I could use? I've toyed with modifying one of the  
> following:
>
> POE::Filter::RecordBlock
> POE::Filter::Regexp
> POE::Filter::Block
>
> Do any of these make sense for what I want to do? Should I punt on  
> using FollowTail and try something else?
>
> Any advice is appreciated!
>
> Thanks
>
> -Craig
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.