Scroll to navigation

Net::Proxy::Connector(3pm) User Contributed Perl Documentation Net::Proxy::Connector(3pm)

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.

2023-06-26 perl v5.36.0