Comparison

net/server_select.lua @ 5486:bcf27dbef6c6

net.server_select: Add and improve some comments.
author Waqas Hussain <waqas20@gmail.com>
date Tue, 16 Apr 2013 18:18:22 -0400
parent 5485:5147eed0a42e
child 5491:55faa2fd5549
comparison
equal deleted inserted replaced
5485:5147eed0a42e 5486:bcf27dbef6c6
845 handler:force_close() -- forced disconnect 845 handler:force_close() -- forced disconnect
846 _closelist[ handler ] = nil; 846 _closelist[ handler ] = nil;
847 end 847 end
848 _currenttime = luasocket_gettime( ) 848 _currenttime = luasocket_gettime( )
849 849
850 -- Check for socket timeouts
850 local difftime = os_difftime( _currenttime - _starttime ) 851 local difftime = os_difftime( _currenttime - _starttime )
851 if difftime > _checkinterval then 852 if difftime > _checkinterval then
852 _starttime = _currenttime 853 _starttime = _currenttime
853 for handler, timestamp in pairs( _writetimes ) do 854 for handler, timestamp in pairs( _writetimes ) do
854 if os_difftime( _currenttime - timestamp ) > _sendtimeout then 855 if os_difftime( _currenttime - timestamp ) > _sendtimeout then
864 handler:close( ) -- forced disconnect? 865 handler:close( ) -- forced disconnect?
865 end 866 end
866 end 867 end
867 end 868 end
868 869
870 -- Fire timers
869 if _currenttime - _timer >= math_min(next_timer_time, 1) then 871 if _currenttime - _timer >= math_min(next_timer_time, 1) then
870 next_timer_time = math_huge; 872 next_timer_time = math_huge;
871 for i = 1, _timerlistlen do 873 for i = 1, _timerlistlen do
872 local t = _timerlist[ i ]( _currenttime ) -- fire timers 874 local t = _timerlist[ i ]( _currenttime ) -- fire timers
873 if t then next_timer_time = math_min(next_timer_time, t); end 875 if t then next_timer_time = math_min(next_timer_time, t); end
874 end 876 end
875 _timer = _currenttime 877 _timer = _currenttime
876 else 878 else
877 next_timer_time = next_timer_time - (_currenttime - _timer); 879 next_timer_time = next_timer_time - (_currenttime - _timer);
878 end 880 end
879 socket_sleep( _sleeptime ) -- wait some time 881
880 --collectgarbage( ) 882 -- wait some time (0 by default)
883 socket_sleep( _sleeptime )
881 until quitting; 884 until quitting;
882 if once and quitting == "once" then quitting = nil; return; end 885 if once and quitting == "once" then quitting = nil; return; end
883 return "quitting" 886 return "quitting"
884 end 887 end
885 888