remap_request_id()cache_request()build_server_talk()clear_cache()talk_to_server()request_test()request_work()request_file()report()type()is_proxy()output()
Dicop::Proxy - A proxy for a Dicop system
use Dicop::Proxy;
$proxy = Dicop::Proxy->new();
$proxy->parse_client_requests($self,$requests);
This module includes some routines that make up the logic of the proxy part of the server.
This is a subclass of Dicop::Handler and overrides only the necc. methods.
This package is used by dicopp to implement a full Dicop-Proxy.
perl5.008003, Exporter
Exports nothing per default.
remap_request_id()
my $req_id = $proxy->remap_request_id( $response->request_id() );
Map from server's response request_id back to what the client sent us.
cache_request()Takes a request, and adds it to the _send_cache. It also creates a client_info request, if that isn't already there, otherwise it updates the client info. Return 1 if we need to send to the server (cache full), otherwise 0.
build_server_talk()Create the text that is sent to the server by stringing together request and info requests from the cache.
clear_cache()Clear the send cache and the client info list, reset the request id for the send cache.
=head2 new()
Create a new Dicop::Proxy object and init the data fields of it. Called by the
servers init() method.
talk_to_server()Uses build_server_talk to build the text for the upstream server, send it to the server, and then clear the cache and client info list. Returns the servers answer as text.
request_test()Called for each testcase request.
request_work()Called for each work request.
request_file()Called for each file request.
report()Called for each chunk the client reports back.
type()Returns the string 'proxy'.
is_proxy()Returns true.
output()Output a string to STDERR for debugging purposes.
None known yet.
(c) Bundesamt fuer Sicherheit in der Informationstechnik 1998-2006
DiCoP is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.
See http://www.bsi.de/ for more information.