… | |
… | |
116 | peername => $peername, # for verification |
116 | peername => $peername, # for verification |
117 | ; |
117 | ; |
118 | |
118 | |
119 | =cut |
119 | =cut |
120 | |
120 | |
121 | sub LATENCY() { 3 } # assumed max. network latency |
121 | sub LATENCY() { 5 } # assumed max. network latency |
122 | |
122 | |
123 | our @FRAMINGS = qw(json storable); # the framing types we accept and send, in order of preference |
123 | our @FRAMINGS = qw(json storable); # the framing types we accept and send, in order of preference |
124 | our @AUTH_SND = qw(tls_md6_64_256 hmac_md6_64_256); # auth types we send |
124 | our @AUTH_SND = qw(tls_md6_64_256 hmac_md6_64_256); # auth types we send |
125 | our @AUTH_RCV = (@AUTH_SND, qw(tls_anon cleartext)); # auth types we accept |
125 | our @AUTH_RCV = (@AUTH_SND, qw(tls_anon cleartext)); # auth types we accept |
126 | |
126 | |
… | |
… | |
165 | verify_require_client_cert => 1, |
165 | verify_require_client_cert => 1, |
166 | }; |
166 | }; |
167 | } |
167 | } |
168 | |
168 | |
169 | $self->{hdl} = new AnyEvent::Handle |
169 | $self->{hdl} = new AnyEvent::Handle |
170 | fh => delete $self->{fh}, |
170 | fh => delete $self->{fh}, |
171 | autocork => 1, |
171 | autocork => 1, |
172 | no_delay => 1, |
172 | no_delay => 1, |
|
|
173 | keepalive => 1, |
173 | on_error => sub { |
174 | on_error => sub { |
174 | $self->error ($_[2]); |
175 | $self->error ($_[2]); |
175 | }, |
176 | }, |
176 | rtimeout => $latency, |
177 | rtimeout => $latency, |
177 | peername => delete $self->{peername}, |
178 | peername => delete $self->{peername}, |
178 | ; |
179 | ; |
179 | |
180 | |
180 | my $greeting_kv = $self->{greeting} ||= {}; |
181 | my $greeting_kv = $self->{greeting} ||= {}; |
181 | |
182 | |
182 | $self->{local_node} ||= $AnyEvent::MP::Kernel::NODE; |
183 | $self->{local_node} ||= $AnyEvent::MP::Kernel::NODE; |
… | |
… | |
460 | |
461 | |
461 | =item timeout=<seconds> |
462 | =item timeout=<seconds> |
462 | |
463 | |
463 | The amount of time after which this node should be detected as dead unless |
464 | The amount of time after which this node should be detected as dead unless |
464 | some data has been received. The node is responsible to send traffic |
465 | some data has been received. The node is responsible to send traffic |
465 | reasonably more often than this interval (such as every timeout minus five |
466 | reasonably more often than this interval (such as every timeout minus |
466 | seconds). |
467 | five seconds). |
467 | |
468 | |
468 | =item provider=<module-version> |
469 | =item provider=<module-version> |
469 | |
470 | |
470 | The software provider for this implementation. For AnyEvent::MP, this is |
471 | The software provider for this implementation. For AnyEvent::MP, this is |
471 | C<AE-0.0> or whatever version it currently is at. |
472 | C<AE-0.0> or whatever version it currently is at. |