ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/ext/tcp.ext
Revision: 1.18
Committed: Sun May 9 21:46:39 2010 UTC (14 years ago) by root
Branch: MAIN
CVS Tags: rel-3_0
Changes since 1.17: +5 -1 lines
Log Message:
do not log local connects

File Contents

# Content
1 #! perl # mandatory
2
3 # this listens for new tcp connections and hands them over to the server core
4 # wether this being an extension introduces or reduces stability problems
5 # is unknown as of today.
6
7 use Socket;
8 use AnyEvent::Socket;
9
10 our $BIND = $cf::CFG{bind_addresses} || [[undef, 13327]];
11 our @LISTENERS;
12
13 for (@$BIND) {
14 my ($host, $port) = @$_;
15 cf::info "listening on ", (format_hostport $host, $port), "\n";
16
17 push @LISTENERS, tcp_server $host, $port, sub {
18 my ($fh, $host, $port) = @_
19 or return;
20
21 my $lhost = AnyEvent::Socket::format_address
22 +(AnyEvent::Socket::unpack_sockaddr getsockname $fh)[1];
23
24 cf::info "new connection from ", (format_hostport $host, $port), "\n"
25 if $lhost ne $host; # do not log connections from the host, e.g. for watchdogs
26
27 cf::client::create fileno $fh, $host;
28 };
29 }
30