This module is used to extend TCPServer and Kgio::TCPServer objects and aggregate last_data_recv
times for all accepted clients. It is designed to be used with Raindrops::LastDataRecv
Rack application but can be easily changed to work with other stats collection devices.
Methods wrapped include:
TCPServer#accept
TCPServer#accept_nonblock
Kgio::TCPServer#kgio_accept
Kgio::TCPServer#kgio_tryaccept
The integer value of last_data_recv
is sent to this object. This is usually a duck type compatible with the Aggregate class, but can be anything that accepts the *<<* method.
cornify! () source
automatically extends any TCPServer objects used by Unicorn
default_aggregate () source
By default, this is a Raindrops::Aggregate::PMQ
object It may be anything that responds to *<<*
default_aggregate= (agg) source
Assign any object that responds to *<<*
extended (obj) source
each extended object needs to have TCP_DEFER_ACCEPT enabled for accuracy.
count! (io) source
The last_data_recv
member of Raindrops::TCP_Info
can be used to infer the time a client spent in the listen queue before it was accepted.
We require TCP_DEFER_ACCEPT on the listen socket for last_data_recv
to be accurate
mail archives: https://yhbt.net/raindrops-public/ http://7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/raindrops-public nntps://news.public-inbox.org/inbox.comp.lang.ruby.raindrops nntp://7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/inbox.comp.lang.ruby.raindrops imaps://yhbt.net/inbox.comp.lang.ruby.raindrops.0 imap://7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/inbox.comp.lang.ruby.raindrops.0 public: raindrops-public@yhbt.net source code: git clone https://yhbt.net/raindrops.git torsocks git clone http://7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/raindrops.git