Net::Proxy::Connector - Base class for Net::Proxy protocols
# # 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;
Net::Proxy::Connector is the base class for all specialised protocols used by Net::Proxy.
The base class provides the following methods:
The constructor.
$connector->set_proxy( $proxy );
Define the proxy that "owns" the connector.
my $proxy = $connector->get_proxy();
Return the Net::Proxy object that "owns" the connector.
$connector->is_in();
Return a boolean value indicating if the Net::Proxy::Connector object is the in connector of its proxy.
in
$connector->is_out();
Return a boolean value indicating if the Net::Proxy::Connector object is the out connector of its proxy.
out
$connector->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.
accept_from()
connect()
my $data = $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.
read_from()
$connector->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.
write_to()
my $sock = $connector->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.
listen()
host
port
my $sock = $connector->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.
The following methods should be defined in Net::Proxy::Connector subclasses:
$connector->init;
This method initalizes the connector.
my $data = $connector->read_from( $socket );
Return the data that was possibly decapsulated by the connector.
$connector->write_to( $socket, $data );
Write $data to the given $socket, according to the connector scheme.
$data
$socket
my $sock = $connector->listen();
Initiate listening sockets and return them.
This method can use the raw_listen() method to do the low-level listen call.
raw_listen()
my $sock = $connector->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.
raw_accept_from()
my $sock = $connector->connect();
Return a socket connected to the remote server.
Philippe 'BooK' Bruhat, <book@cpan.org>.
<book@cpan.org>
Copyright 2006-2014 Philippe 'BooK' Bruhat, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Net::Proxy, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Net::Proxy
CPAN shell
perl -MCPAN -e shell install Net::Proxy
For more information on module installation, please visit the detailed CPAN module installation guide.