Net::Proxy::Connector(3)

NAME
Net::Proxy::Connector - Base class for Net::Proxy protocols

SYNOPSIS
    #
    # template for the zlonk connector
    #
    package Net::Proxy::Connector::zlonk;

    use strict;
    use Net::Proxy::Connector;
    our @ISA = qw( Net::Proxy::Connector );

    # here are the methods you need to write for your connector

    # if it can be used as an 'in' connector
    sub listen { }
    sub accept_from { }

    # if it can be used as an 'out' connector
    sub connect { }

    # to process data
    sub read_from { }
    sub write_to { }

    1;

DESCRIPTION
"Net::Proxy::Connector" is the base class for all specialised protocols used by "Net::Proxy".

METHODS

  Class methods
The base class provides the following methods:

new()

  Instance methods
set_proxy( $proxy )
    Define the proxy that "owns" the connector.

get_proxy()
    Return the "Net::Proxy" object that "owns" the connector.

is_in()
    Return a boolean value indicating if the "Net::Proxy::Connector" object is the "in" connector of its proxy.

is_out()
    Return a boolean value indicating if the "Net::Proxy::Connector" object is the "out" connector of its proxy.

new_connection_on( $socket )
    This method is called by "Net::Proxy" to handle incoming connections, and in turn call "accept_from()" on the 'in' connector and "connect()" on the 'out' connector.

raw_read_from( $socket )
    This method can be used by "Net::Proxy::Connector" subclasses in their "read_from()" methods, to fetch raw data on a socket.

raw_write_to( $socket, $data )
    This method can be used by "Net::Proxy::Connector" subclasses in their "write_to()" methods, to send raw data on a socket.

raw_listen( )
    This method can be used by "Net::Proxy::Connector" subclasses in their "listen()" methods, to create a listening socket on their "host" and "port" parameters.

raw_accept_from( $socket )
    This method can be used internaly by "Net::Proxy::Connector" subclasses in their "accept_from()" methods, to accept a newly connected socket.

Subclass methods
The following methods should be defined in "Net::Proxy::Connector" subclasses:

  Initialisation

init()
    This method initalise the connector.

  Processing incoming/outgoing data

read_from( $socket )
    Return the data that was possibly decapsulated by the connector.

write_to( $socket, $data )
    Write $data to the given $socket, according to the connector scheme.

  "in" connector

listen()
    Initiate listening sockets and return them.

    This method can use the "raw_listen()" method to do the low-level listen call.

accept_from( $socket )
    $socket is a listening socket created by "listen()". This method returns the connected socket.

    This method can use the "raw_accept_from()" method to do the low-level accept call.

  "out" connector

connect()
    Return a socket connected to the remote server.

AUTHOR
Philippe 'BooK' Bruhat, "<book@cpan.org>".

COPYRIGHT
Copyright 2006 Philippe 'BooK' Bruhat, All Rights Reserved.

LICENSE
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.