Perlbal
view release on metacpan or search on metacpan
lib/Perlbal/Manual/Internals.pod view on Meta::CPAN
=head4 Fields
=over 4
=item headers_string
Headers as they're being read.
=item req_headers
The final L<Perlbal::HTTPHeaders> object inbound.
=item res_headers
Response headers outbound (L<Perlbal::HTTPHeaders> object).
=item create_time
Creation time.
=item alive_time
Last time noted alive.
=item state
General purpose state; used by descendants.
=item do_die
If on, die and do no further requests.
=item read_buf
Arrayref of scalarref read from client.
=item read_ahead
Bytes sitting in read_buf.
=item read_size
Total bytes read from client, ever.
=item ditch_leading_rn
If true, the next header parsing will ignore a leading \r\n.
=item observed_ip_string
If defined, contains the observed IP string of the peer we're serving. This is intended for holding the value of the X-Forwarded-For and using it to govern ACLs.
=back
=head3 Perlbal::TCPListener
Descends from L<Perlbal::Socket>.
Very lightweight and fast connection accept class. Takes incoming connections as fast as possible and passes them off, instantiating one of the various Client* classes to handle it.
=head4 Fields
=over 4
=item service
L<Perlbal::Service>.
=item hostport
Scalar IP port of where this service is listening for new connections.
=item sslopts
The SSL Options.
use Data::Dumper;
warn Dumper( $tcp_listener->{'sslopts'} );
The above lines would print something like the following:
$VAR1 = {
'ssl' => {
'SSL_cipher_list' => '...',
'SSL_cert_file' => '...',
'SSL_key_file' => ',,,',
'SSL_ca_path' => '...',
'SSL_verify_mode' => '...'
}
};
=item v6
Boolean value stating whether the installation of Perlbal supports IPv6 (which basically boils down to L<Danga::Socket> v1.6.1 and L<IO::Socket::INET6> being available).
=back
=head3 Perlbal::BackendHTTP
Descends from L<Perlbal::Socket>.
This class handles connections to the backend web nodes for getting data back to the user. This class is used by other classes such as L<Perlbal::ClientProxy> to send a request to an internal node.
=head4 Fields
lib/Perlbal/Manual/Internals.pod view on Meta::CPAN
Boolean; persistent connections for clients.
=item persist_backend
Boolean; persistent connections for backends.
=item verify_backend
Boolean; get attention of backend before giving it clients (using OPTIONS).
=item verify_backend_path
Path to check with the OPTIONS request (default is C<*>).
=item max_backend_uses
Max requests to send per kept-alive backend (default 0 = unlimited).
=item connect_ahead
Number of spare backends to connect to in advance all the time.
=item buffer_size
How much data a L<Perlbal::ClientProxy> object should buffer from a backend.
=item buffer_size_reproxy_url
Same as above but for backends that are reproxying for us.
=item queue_relief_size
Number of outstanding standard priority connections to activate pressure relief at.
=item queue_relief_chance
Int, 0-100; % chance to take a standard priority request when we're in pressure relief mode.
=item trusted_upstream_proxies
Array of L<Net::Netmask> objects containing netmasks for trusted upstreams.
=item always_trusted
Boolean; if true, always trust upstreams.
=item blind_proxy
Boolean; if true, do not modify C<X-Forwarded-For>, C<X-Host>, or C<X-Forwarded-Host> headers.
=item enable_reproxy
Boolean; if true, advertise that server will reproxy files and/or URLs.
=item reproxy_cache_maxsize
Maximum number of reproxy results to be cached. (0 is disabled and default).
=item client_sndbuf_size
Bytes for C<SO_SNDBUF>.
=item server_process
Path to server process (executable).
=item persist_client_idle_timeout
Keep-alive timeout in seconds for clients (default is 30).
=item idle_timeout
Idle timeout outside of keep-alive time (default is 30).
=back
=head4 Internal state
=over 4
=item waiting_clients
Arrayref of clients waiting for backendhttp connections.
=item waiting_clients_highpri
Arrayref of high-priority clients waiting for backendhttp connections.
=item waiting_clients_lowpri
Arrayref of low-priority clients waiting for backendhttp connections.
=item waiting_client_count
Number of clients waiting for backends.
=item waiting_client_map
( run in 0.691 second using v1.01-cache-2.11-cpan-d8267643d1d )