class ClickSocket

ClickSocket class opens a Click socket and forwards data arriving on the socket to ClickSocketObservers. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods


Detailed Description

ClickSocket class opens a Click socket and forwards data arriving on the socket to ClickSocketObservers. The ClickSocket hooks itself into the EventLoop and activity usually happens asynchronously.

 ClickSocket (EventLoop& eventloop)

ClickSocket

 ~ClickSocket ()

~ClickSocket

void  enable_click (bool v)

enable_click

Enable/disable Click support.

Note that this operation does not start the Click operations.

Parameters:

vif true, then enable Click support, otherwise disable it.
bool  is_enabled ()

is_enabled

[const]

Test if the Click support is enabled.

Returns: true if the Click support is enabled, otherwise false.

bool  is_duplicate_routes_to_kernel_enabled ()

is_duplicate_routes_to_kernel_enabled

[const]

Test if duplicating the Click routes to the system kernel is enabled.

Returns: true if duplicating the Click routes to the system kernel is enabled, otherwise false.

void  enable_duplicate_routes_to_kernel (bool v)

enable_duplicate_routes_to_kernel

Enable/disable duplicating the Click routes to the system kernel.

Parameters:

enableif true, then enable duplicating the Click routes to the system kernel, otherwise disable it.
void  enable_kernel_click (bool v)

enable_kernel_click

Enable/disable kernel-level Click.

Note that this operation does not start the kernel-level Click operations.

Parameters:

vif true, enable kernel-level Click, otherwise disable it.
void  enable_kernel_click_install_on_startup (bool v)

enable_kernel_click_install_on_startup

Enable/disable installing kernel-level Click on startup.

Parameters:

vif true, then install kernel-level Click on startup.
void  set_kernel_click_modules (const list<string>& v)

set_kernel_click_modules

Specify the list of kernel Click modules to load on startup if installing kernel-level Click on startup is enabled.

Parameters:

vthe list of kernel Click modules to load.
void  set_kernel_click_mount_directory (const string& v)

set_kernel_click_mount_directory

Specify the kernel-level Click mount directory.

Parameters:

vthe kernel-level Click mount directory.
void  enable_user_click (bool v)

enable_user_click

Enable/disable user-level Click.

Note that this operation does not start the user-level Click operations.

Parameters:

vif true, enable user-level Click, otherwise disable it.
bool  is_kernel_click ()

is_kernel_click

[const]

Test if we are running kernel-level Click operations.

Returns: true if kernel-level Click is enabled, otherwise false.

bool  is_user_click ()

is_user_click

[const]

Test if we are running user-level Click operations.

Returns: true if user-level Click is enabled, otherwise false.

int  start (string& error_msg)

start

Start the Click socket operation.

Parameters:

error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  stop (string& error_msg)

stop

Stop the Click socket operation.

Parameters:

error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

const string&  kernel_click_config_generator_file ()

kernel_click_config_generator_file

[const]

Get the name of the external program to generate the kernel-level Click configuration.

Returns: the name of the external program to generate the kernel-level Click configuration.

void  set_kernel_click_config_generator_file (const string& v)

set_kernel_click_config_generator_file

Specify the external program to generate the kernel-level Click configuration.

Parameters:

vthe name of the external program to generate the kernel-level Click configuration.
void  set_user_click_command_file (const string& v)

set_user_click_command_file

Specify the user-level Click command file.

Parameters:

vthe name of the user-level Click command file.
void  set_user_click_command_extra_arguments (const string& v)

set_user_click_command_extra_arguments

Specify the extra arguments to the user-level Click command.

Parameters:

vthe extra arguments to the user-level Click command.
void  set_user_click_command_execute_on_startup (bool v)

set_user_click_command_execute_on_startup

Specify whether to execute on startup the user-level Click command.

Parameters:

vif true, then execute the user-level Click command on startup.
void  set_user_click_startup_config_file (const string& v)

set_user_click_startup_config_file

Specify the configuration file to be used by user-level Click on startup.

Parameters:

vthe name of the configuration file to be used by user-level Click on startup.
void  set_user_click_control_address (const IPv4& v)

set_user_click_control_address

Specify the address to use for control access to the user-level Click.

Parameters:

vthe address to use for control access to the user-level Click.
void  set_user_click_control_socket_port (uint16_t v)

set_user_click_control_socket_port

Specify the socket port to use for control access to the user-level Click.

Parameters:

vthe socket port to use for control access to the user-level Click.
const string&  user_click_config_generator_file ()

user_click_config_generator_file

[const]

Get the name of the external program to generate the user-level Click configuration.

Returns: the name of the external program to generate the user-level Click configuration.

void  set_user_click_config_generator_file (const string& v)

set_user_click_config_generator_file

Specify the external program to generate the user-level Click configuration.

Parameters:

vthe name of the external program to generate the user-level Click configuration.
int  write_config (const string& element, const string& handler, bool has_kernel_config, const string& kernel_config, bool has_user_config, const string& user_config, string& error_msg)

write_config

Write Click configuration.

Parameters:

elementthe Click element to write the configuration to. If it is an empty string, then we use only the handler to write the configuration.
handlerthe Click handler to write the configuration to.
has_kernel_configtrue if we wish to write the kernel-level Click configuration (if kernel-level Click is enabled).
kernel_configthe kernel-level Click configuration to write.
has_user_configtrue if we wish to write the user-level Click configuration (if user-level Click is enabled).
user_configthe user-level Click configuration to write.
error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

ssize_t  write (int fd, const void* data, size_t nbytes)

write

Write data to Click socket.

This method also updates the sequence number associated with this Click socket.

Returns: the number of bytes which were written, or -1 if error.

int  check_user_command_status (bool& is_warning, string& command_warning, bool& is_error, string& command_error, string& error_msg)

check_user_command_status

Check the status of a previous command.

Parameters:

is_warningif true, the previous command generated a warning.
command_warningif is_warning is true, then it contains the generated warning message.
is_errorif true, the previous command generated an error.
command_errorif is_error is true, then it contains the generated error message.
error_msgif the command status cannot be checked, then it contains the error message with the reason.

Returns: XORP_OK on success, otherwise XORP_ERROR.

inline uint32_t  seqno ()

seqno

[const]

Get the sequence number for next message written into Click.

The sequence number is derived from the instance number of this Click socket and a 16-bit counter.

Returns: the sequence number for the next message written into Click.

inline pid_t  pid ()

pid

[const]

Get the cached process identifier value.

Returns: the cached process identifier value.

int  force_kernel_click_read (string& error_msg)

force_kernel_click_read

Force socket to read data from kernel-level Click.

This usually is performed after writing a request that Click will answer (e.g., after writing a configuration change). Use sparingly, with caution, and at your own risk.

Parameters:

error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  force_user_click_read (string& error_msg)

force_user_click_read

Force socket to read data from user-level Click.

This usually is performed after writing a request that Click will answer (e.g., after writing a configuration change). Use sparingly, with caution, and at your own risk.

Parameters:

error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.


Generated by: pavlin on possum.icir.org on Wed Apr 13 21:53:05 2005, using kdoc $.