Net::DBus::Binding::Server(3pm)

Net::DBus::Binding::Server3pm

A server to accept incoming connections

Usage

Creating a new server and accepting client connections

  use Net::DBus::Binding::Server;
  my $server = Net::DBus::Binding::Server->new(address => "unix:path=/path/to/socket");
  $server->connection_callback(\&new_connection);
  sub new_connection {
      my $connection = shift;
      .. work with new connection...
  }

Managing the server and new connections in an event loop

  my $reactor = Net::DBus::Binding::Reactor->new();
  $reactor->manage($server);
  $reactor->run();
  sub new_connection {
      my $connection = shift;
      $reactor->manage($connection);
  }

Overview

A server for receiving connection from client programs. The methods defined on this module have a close correspondence to the dbus_server_XXX methods in the C API, so for further details on their behaviour, the C API documentation may be of use.

Methods

my $server = Net::DBus::Binding::Server->new(address => "unix:path=/path/to/socket");

Creates a new server binding it to the socket specified by the "address" parameter.

$status = $server->is_connected();

Returns zero if the server has been disconnected, otherwise a positive value is returned.

$server->disconnect()

Closes this server to the remote host. This method is called automatically during garbage collection (ie in the DESTROY method) if the programmer forgets to explicitly disconnect.

$server->set_watch_callbacks(\&add_watch, \&remove_watch, \&toggle_watch);

Register a set of callbacks for adding, removing & updating watches in the application's event loop. Each parameter should be a code reference, which on each invocation, will be supplied with two parameters, the server object and the watch object. If you are using a "Net::DBus::Binding::Reactor" object as the application event loop, then the 'manage' method on that object will call this on your behalf.

$server->set_timeout_callbacks(\&add_timeout, \&remove_timeout, \&toggle_timeout);

Register a set of callbacks for adding, removing & updating timeouts in the application's event loop. Each parameter should be a code reference, which on each invocation, will be supplied with two parameters, the server object and the timeout object. If you are using a "Net::DBus::Binding::Reactor" object as the application event loop, then the 'manage' method on that object will call this on your behalf.

$server->set_connection_callback(\&handler)

Registers the handler to use for dealing with new incoming connections from clients. The code reference will be invoked each time a new client connects and supplied with a single parameter which is the "Net::DBus::Binding::Connection" object representing the client.

Releases

10 releases since Debian 5.0 (Lenny); the text changed 9 times.

  1. 5.0
  2. 6.0
  3. 7
  4. 8
  5. 9
  6. 10
  7. 11
  8. 12
  9. 13
  10. Arch

Author

Daniel P. Berrange

From perl-net-dbus 1.2.0-9 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.