Event::RPC::Loop
Mainloop Abstraction layer for Event::RPC
- Provided by: libevent-rpc-perl (Version: 1.11-1)
- Report a bug
Mainloop Abstraction layer for Event::RPC
use Event::RPC::Server;
use Event::RPC::Loop::Glib;
my $server = Event::RPC::Server->new (
...
loop => Event::RPC::Loop::Glib->new(),
...
);
$server->start;
This modules defines the interface of Event::RPC's mainloop abstraction layer. It's a virtual class all mainloop modules should inherit from.
The following methods need to be implemented:
A watcher object is returned. What this exactly is depends on the implementation, so you can't do anything useful with it besides passing it back to del_io_watcher().
Options are passed as a hash of key/value pairs. The following options are known:
A timer object is returned. What this exactly is depends on the implementation, so you can't do anything useful with it besides passing it back to del_io_timer().
You may use the methods of Event::RPC::Loop by yourself if you like. This way your program keeps independent of the actual mainloop module in use, if the simplified interface of Event::RPC::Loop is sufficient for you.
In your server program you access the actual mainloop object this way:
my $loop = Event::RPC::Server->instance->get_loop;
Naturally nothing speaks against making your program to work only with a specific mainloop implementation, if you need its features. In that case you may use the corresponding API directly (e.g. of Event or Glib), no need to access it through Event::RPC::Loop.
Jörn Reder <joern AT zyn.de>
Copyright (C) 2005-2015 by Jörn Reder <joern AT zyn.de>.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.