From e7ae58ecbe2c3f04aa83c2048052cd1654f00caf Mon Sep 17 00:00:00 2001 From: mike Date: Tue, 13 Dec 2005 16:46:59 +0000 Subject: [PATCH] Complete! Yee-hah! --- lib/ZOOM.pod | 40 ++++++++++++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/lib/ZOOM.pod b/lib/ZOOM.pod index 20694d4..eb9204f 100644 --- a/lib/ZOOM.pod +++ b/lib/ZOOM.pod @@ -1,4 +1,4 @@ -# $Id: ZOOM.pod,v 1.21 2005-12-13 16:22:41 mike Exp $ +# $Id: ZOOM.pod,v 1.22 2005-12-13 16:46:59 mike Exp $ use strict; use warnings; @@ -94,7 +94,8 @@ enumeration or drawn from the BIB-1 diagnostic set. =head2 ZOOM::event() -B +B +Lark's vomit. Do not read this section. $which = ZOOM::event([ $conn1, $conn2, $conn3 ]); @@ -105,7 +106,8 @@ the connections it occurred on. The return value is a 1-based index into the list; 0 is returned if no event occurs within the longest timeout specified by the C options of all the connections. -B +B +This function is not yet implemented. =head1 CLASSES @@ -392,9 +394,10 @@ the C documentation. Returns a C enumerated value indicating the type of the last event that occurred on the connection. This is used only in complex asynchronous applications - see the section below on - for more information. +C for more information. -B +B +This method has not been tested. =head4 destroy() @@ -1076,7 +1079,32 @@ be useful. Though I can't imagine how. =head4 set_callback() -I<###> + sub cb { + ($udata, $key) = @; + return "$udata-$key-$udata"; + } + $o->set_callback(\&cb, "xyz"); + assert($o->option("foo") eq "xyz-foo-xyz"); + +This method allows a callback function to be installed in an option +set, so that the values of options can be calculated algorithmically +rather than, as usual, looked up in a table. Along with the callback +function itself, an additional datum is provided: when an option is +subsequently looked up, this datum is passed to the callback function +along with the key; and its return value is returned to the caller as +the value of the option. + +B +Although it ought to be possible to specify callback function using +the C<\&name> syntax above, or a literal C code +reference, the complexities of the Perl-internal memory management +system mean that the function must currently be specified as a string +containing the fully-qualified name, e.g. C<"main::cb">.> + +B +The current implementation of the this method leaks memory, not only +when the callback is installed, but on every occasion that it is +consulted to look up an option value. =head4 destroy() -- 1.7.10.4