Provided by: libnet-proxy-perl_0.13-1_all bug

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

       The constructor.

   Instance methods
       set_proxy

           $connector->set_proxy( $proxy );

       Define the proxy that "owns" the connector.

       get_proxy

           my $proxy = $connector->get_proxy();

       Return the Net::Proxy object that "owns" the connector.

       is_in

           $connector->is_in();

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

       is_out

           $connector->is_out();

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

       new_connection_on

           $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.

       raw_read_from

           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.

       raw_write_to

           $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.

       raw_listen

           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.

       raw_accept_from

           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.

SUBCLASS METHODS

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

   Initialisation
       init

           $connector->init;

       This method initalizes the connector.

   Processing incoming/outgoing data
       read_from

           my $data = $connector->read_from( $socket );

       Return the data that was possibly decapsulated by the connector.

       write_to

           $connector->write_to( $socket, $data );

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

   "in" connector
       listen

           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.

       accept_from

           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.

   "out" connector
       connect

           my $sock = $connector->connect();

       Return a socket connected to the remote server.

AUTHOR

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

COPYRIGHT

       Copyright 2006-2014 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.