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.