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 )