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

# User Rev Content
1 root 1.17 #! perl # mandatory
2 root 1.1
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 root 1.12 use AnyEvent::Socket;
9 root 1.1
10 root 1.12 our $BIND = $cf::CFG{bind_addresses} || [[undef, 13327]];
11 root 1.15 our @LISTENERS;
12 root 1.12
13     for (@$BIND) {
14     my ($host, $port) = @$_;
15 root 1.16 cf::info "listening on ", (format_hostport $host, $port), "\n";
16 root 1.12
17 root 1.15 push @LISTENERS, tcp_server $host, $port, sub {
18 root 1.12 my ($fh, $host, $port) = @_
19     or return;
20    
21 root 1.18 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 root 1.12
27 root 1.13 cf::client::create fileno $fh, $host;
28 root 1.12 };
29 root 1.1 }
30