Net::Proxy::Connector(3) 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, "<[email protected]>".

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.