Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

doc patch and 19_filterchange.t Storable tweak

  • Loading branch information...
commit d8144232656b8ff594eedd34bc39402089ac4773 1 parent ed14a93
@rcaputo authored
View
10 Changes
@@ -55,6 +55,16 @@ Version numbers have four fields: X.YYZZAA
|
`-----------------
+0.1105 2000.??.??
+-----------------
+
+Added a note about using the same versions of the same modules when
+passing messages across different machines. Differences in modules or
+versions can introduce some pretty subtle and nasty problems.
+
+t/19_filterchange.t wouldn't work without Storable. Made it use
+lib/MyOtherFreezer instead, so at least filter changing can be tested.
+
0.1104 2000.08.12
-----------------
View
9 lib/POE.pm
@@ -808,6 +808,15 @@ Storable tends to be the fastest, and it's checked first.
Filter::Reference can also use Compress::Zlib upon request, but it's
not required.
+B<If you intend to pass reference across machines, such as with Philip
+Gwyn's POE::Component::IKC, then be sure that both ends of the
+connection use the same version of the same libraries. Subtle
+differences in libraries, or even between different versions of the
+same library, can cause mysterious errors when data is reconstituted
+on the receiving end. When all else fails, upgrade to the latest
+version; this has been known to fix problems between Filter::Reference
+and Storable, for example.>
+
Filter::HTTPD requires a small world of modules, including
HTTP::Status; HTTP::Request; HTTP::Date and URI::URL. The httpd.perl
sample program uses Filter::HTTPD, which uses all that other stuff.
View
4 mylib/MyOtherFreezer.pm
@@ -18,7 +18,7 @@ sub freeze {
elsif (ref($thing) eq 'Package') {
return reverse(join "\0", ref($thing), @$thing);
}
- die;
+ die "can't freeze things of type ", ref($thing);
}
sub thaw {
@@ -33,7 +33,7 @@ sub thaw {
elsif ($type eq 'Package') {
return bless \@stuff, $type;
}
- die;
+ die "can't thaw things of type $type";
}
1;
View
11 tests/19_filterchange.t
@@ -8,6 +8,7 @@ use strict;
use lib qw(./lib ../lib);
use TestSetup qw(ok not_ok results test_setup ok_if many_not_ok);
+use MyOtherFreezer;
use TestPipe;
sub DEBUG () { 0 }
@@ -183,7 +184,10 @@ sub slave_input {
}
elsif ($1 eq REFERENCE) {
$heap->{wheel}->put( &wrap_payload( $mode, $response ) );
- $heap->{wheel}->set_filter( POE::Filter::Reference->new() );
+ $heap->{wheel}->set_filter( POE::Filter::Reference->new
+ ( 'MyOtherFreezer'
+ )
+ );
$heap->{current_mode} = $1;
}
elsif ($1 eq BLOCK) {
@@ -290,7 +294,10 @@ sub master_input {
$heap->{current_mode} = $1;
}
elsif ($1 eq REFERENCE) {
- $heap->{wheel}->set_filter( POE::Filter::Reference->new() );
+ $heap->{wheel}->set_filter( POE::Filter::Reference->new
+ ( 'MyOtherFreezer'
+ )
+ );
$heap->{current_mode} = $1;
}
elsif ($1 eq BLOCK) {
Please sign in to comment.
Something went wrong with that request. Please try again.