… | |
… | |
82 | |
82 | |
83 | use AE (); |
83 | use AE (); |
84 | |
84 | |
85 | use base "Exporter"; |
85 | use base "Exporter"; |
86 | |
86 | |
87 | our $VERSION = '0.01'; |
87 | our $VERSION = '0.02'; |
88 | our @EXPORT = qw( |
88 | our @EXPORT = qw( |
89 | NODE $NODE $PORT snd rcv _any_ |
89 | NODE $NODE $PORT snd rcv _any_ |
90 | create_port create_port_on |
90 | create_port create_port_on |
91 | become_slave become_public |
91 | become_slave become_public |
92 | ); |
92 | ); |
… | |
… | |
153 | && undef $_; |
153 | && undef $_; |
154 | } |
154 | } |
155 | }; |
155 | }; |
156 | |
156 | |
157 | $self |
157 | $self |
|
|
158 | } |
|
|
159 | |
|
|
160 | =item $portid = create_miniport { } |
|
|
161 | |
|
|
162 | Creates a "mini port", that is, a port without much #TODO |
|
|
163 | |
|
|
164 | =cut |
|
|
165 | |
|
|
166 | sub create_miniport(&) { |
|
|
167 | my $cb = shift; |
|
|
168 | my $id = "$AnyEvent::MP::Base::UNIQ." . ++$AnyEvent::MP::Base::ID; |
|
|
169 | |
|
|
170 | $AnyEvent::MP::Base::PORT{$id} = sub { |
|
|
171 | &$cb |
|
|
172 | and delete $AnyEvent::MP::Base::PORT{$id}; |
|
|
173 | }; |
|
|
174 | |
|
|
175 | "$NODE#$id" |
158 | } |
176 | } |
159 | |
177 | |
160 | package AnyEvent::MP::Port; |
178 | package AnyEvent::MP::Port; |
161 | |
179 | |
162 | =back |
180 | =back |