Infinoted.Plugin

Fields

Name

Type

Access

Description

connection_info_size

int

r/w

The size of the plugin’s connection info structure. For each plugin instance, this amount of memory will be allocated for each connection of the server. The plugin can use it to store connection-specific data. This field can be 0.

description

str

r/w

A human-readable description of what the plugin does.

info_size

int

r/w

The size of the plugin instance structure. When the plugin is instantiated, this amount of memory will be allocated for the plugin instance. This field must be different from 0.

name

str

r/w

The name of the plugin. The filename of the shared object should be libinfinoted-plugin-<name>.

on_connection_added

object

r

on_connection_removed

object

r

on_deinitialize

object

r

on_info_initialize

object

r

on_initialize

object

r

on_session_added

object

r

on_session_removed

object

r

options

Infinoted.ParameterInfo

r/w

A 0-terminated list of plugin parameters. The parameters are provided to the plugin via the infinoted configuration file or the command line. The last element of the list must have the name field set to None.

session_info_size

int

r/w

The size of the plugin’s session info structure. For each plugin instance, this amount of memory will be allocated for each session that is currently active on the server. The plugin can use it to store session-specific data. This field can be 0.

session_type

str

r/w

If non-None, specifies the session type handled by the plugin. Only for sessions of this type or a derived type a session info structure is allocated. The on_session_added and on_session_removed callbacks are always made, independent of this field.

Methods

None

Details

class Infinoted.Plugin

Declares a Infinoted.Plugin. If an instance of this structure is called INFINOTED_PLUGIN and exported from a shared object, it can be loaded as a plugin by infinoted.