… | |
… | |
50 | |
50 | |
51 | Defaults for peerhost, peerport and fh are provided. |
51 | Defaults for peerhost, peerport and fh are provided. |
52 | |
52 | |
53 | =cut |
53 | =cut |
54 | |
54 | |
55 | sub mp_server($$@) { |
55 | sub mp_server($$;%) { |
56 | my ($host, $port, @args) = @_; |
56 | my ($host, $port, %arg) = @_; |
57 | |
57 | |
58 | AnyEvent::Socket::tcp_server $host, $port, sub { |
58 | AnyEvent::Socket::tcp_server $host, $port, sub { |
59 | my ($fh, $host, $port) = @_; |
59 | my ($fh, $host, $port) = @_; |
60 | |
60 | |
61 | my $tp = new AnyEvent::MP::Transport |
61 | my $tp = new AnyEvent::MP::Transport |
62 | fh => $fh, |
62 | fh => $fh, |
63 | peerhost => $host, |
63 | peerhost => $host, |
64 | peerport => $port, |
64 | peerport => $port, |
65 | @args, |
65 | %arg, |
66 | ; |
66 | ; |
67 | $tp->{keepalive} = $tp; |
67 | $tp->{keepalive} = $tp; |
68 | } |
68 | }, delete $arg{prepare} |
69 | } |
69 | } |
70 | |
70 | |
71 | =item $guard = mp_connect $host, $port, <constructor-args>, $cb->($transport) |
71 | =item $guard = mp_connect $host, $port, <constructor-args>, $cb->($transport) |
72 | |
72 | |
73 | =cut |
73 | =cut |