equal
deleted
inserted
replaced
101 local _readtraffic |
101 local _readtraffic |
102 |
102 |
103 local _selecttimeout |
103 local _selecttimeout |
104 local _sleeptime |
104 local _sleeptime |
105 local _tcpbacklog |
105 local _tcpbacklog |
|
106 local _accepretry |
106 |
107 |
107 local _starttime |
108 local _starttime |
108 local _currenttime |
109 local _currenttime |
109 |
110 |
110 local _maxsendlen |
111 local _maxsendlen |
141 _readtraffic = 0 |
142 _readtraffic = 0 |
142 |
143 |
143 _selecttimeout = 1 -- timeout of socket.select |
144 _selecttimeout = 1 -- timeout of socket.select |
144 _sleeptime = 0 -- time to wait at the end of every loop |
145 _sleeptime = 0 -- time to wait at the end of every loop |
145 _tcpbacklog = 128 -- some kind of hint to the OS |
146 _tcpbacklog = 128 -- some kind of hint to the OS |
|
147 _accepretry = 10 -- seconds to wait until the next attempt of a full server to accept |
146 |
148 |
147 _maxsendlen = 51000 * 1024 -- max len of send buffer |
149 _maxsendlen = 51000 * 1024 -- max len of send buffer |
148 _maxreadlen = 25000 * 1024 -- max len of read buffer |
150 _maxreadlen = 25000 * 1024 -- max len of read buffer |
149 |
151 |
150 _checkinterval = 1200000 -- interval in secs to check idle clients |
152 _checkinterval = 1200000 -- interval in secs to check idle clients |
796 send_timeout = _sendtimeout; |
798 send_timeout = _sendtimeout; |
797 read_timeout = _readtimeout; |
799 read_timeout = _readtimeout; |
798 max_connections = _maxselectlen; |
800 max_connections = _maxselectlen; |
799 max_ssl_handshake_roundtrips = _maxsslhandshake; |
801 max_ssl_handshake_roundtrips = _maxsslhandshake; |
800 highest_allowed_fd = _maxfd; |
802 highest_allowed_fd = _maxfd; |
|
803 accept_retry_interval = _accepretry; |
801 } |
804 } |
802 end |
805 end |
803 |
806 |
804 changesettings = function( new ) |
807 changesettings = function( new ) |
805 if type( new ) ~= "table" then |
808 if type( new ) ~= "table" then |
811 _maxreadlen = tonumber( new.max_receive_buffer_size ) or _maxreadlen |
814 _maxreadlen = tonumber( new.max_receive_buffer_size ) or _maxreadlen |
812 _checkinterval = tonumber( new.select_idle_check_interval ) or _checkinterval |
815 _checkinterval = tonumber( new.select_idle_check_interval ) or _checkinterval |
813 _tcpbacklog = tonumber( new.tcp_backlog ) or _tcpbacklog |
816 _tcpbacklog = tonumber( new.tcp_backlog ) or _tcpbacklog |
814 _sendtimeout = tonumber( new.send_timeout ) or _sendtimeout |
817 _sendtimeout = tonumber( new.send_timeout ) or _sendtimeout |
815 _readtimeout = tonumber( new.read_timeout ) or _readtimeout |
818 _readtimeout = tonumber( new.read_timeout ) or _readtimeout |
|
819 _accepretry = tonumber( new.accept_retry_interval ) or _accepretry |
816 _maxselectlen = new.max_connections or _maxselectlen |
820 _maxselectlen = new.max_connections or _maxselectlen |
817 _maxsslhandshake = new.max_ssl_handshake_roundtrips or _maxsslhandshake |
821 _maxsslhandshake = new.max_ssl_handshake_roundtrips or _maxsslhandshake |
818 _maxfd = new.highest_allowed_fd or _maxfd |
822 _maxfd = new.highest_allowed_fd or _maxfd |
819 return true |
823 return true |
820 end |
824 end |
897 if t then next_timer_time = math_min(next_timer_time, t); end |
901 if t then next_timer_time = math_min(next_timer_time, t); end |
898 end |
902 end |
899 _timer = _currenttime |
903 _timer = _currenttime |
900 else |
904 else |
901 next_timer_time = next_timer_time - (_currenttime - _timer); |
905 next_timer_time = next_timer_time - (_currenttime - _timer); |
|
906 end |
|
907 |
|
908 for server, paused_time in pairs( _fullservers ) do |
|
909 if _currenttime - paused_time > _accepretry then |
|
910 _fullservers[ server ] = nil; |
|
911 server.resume(); |
|
912 end |
902 end |
913 end |
903 |
914 |
904 -- wait some time (0 by default) |
915 -- wait some time (0 by default) |
905 socket_sleep( _sleeptime ) |
916 socket_sleep( _sleeptime ) |
906 until quitting; |
917 until quitting; |