NAME

Dicop::Data::Proxy - a proxy in the Dicop system.

SYNOPSIS

use Dicop::Data::Proxy;

REQUIRES

perl5.005, Exporter, Dicop::Server, Dicop::Data::Client, Dicop::Data

EXPORTS

Exports nothing.

DESCRIPTION

For a description of fields a proxy has, see doc/Objects.pod.

METHODS

report

One of our clients want to report back a work result, so update our stats.

connected

Proxy connected, so update his stats.

lost_chunk

One of our clients lost a chunk, so update our stats.

get_as_string

Return a field of the object as an ASCII string suitable for HTML output:

$object->get_as_string('foo');

get_as_hex

Return a field of the object as an hexified string, or as a fallback, as normal string via get_as_string. The hexify happens only for certain special fields, all other are returned as simple strings:

$object->get_as_hex('foo');

get

Return the value of a specified field of the object:

$object->get('foo');

change

Change a field's value after checking that the field can be changed (via can_change) and checking the new value. If the new value does not conform to the expected format, it will be silently modifed (f.i. invalid characters might be removed) and then the change will happen:

$object->change('foo','bar');   # will change $object->{foo} to bar
				# if foo can be changed

can_change

Return true if the field's value can be changed.

die ("Can not change field $field\n") if !$object->can_change($field);

rate_limit

return if $self->rate_limit();

Returns true if the client's rate limit was reached, meaning no more connects are allowed at the current time.

is_proxy

if ($client->is_proxy())
	{
	}

Returns true if the client is a proxy, or false for normal clients.

BUGS

None known yet.

AUTHOR

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