Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Event::RPC::Loop(3)   User Contributed Perl Documentation  Event::RPC::Loop(3)

NAME
       Event::RPC::Loop	- Mainloop Abstraction layer for Event::RPC

SYNOPSIS
	 use Event::RPC::Server;
	 use Event::RPC::Loop::Glib;

	 my $server = Event::RPC::Server->new (
	     ...
	     loop => Event::RPC::Loop::Glib->new(),
	     ...
	 );

	 $server->start;

DESCRIPTION
       This modules defines the	interface of Event::RPC's mainloop abstraction
       layer. It's a virtual class all mainloop	modules	should inherit from.

INTERFACE
       The following methods need to be	implemented:

       $loop->enter ()
	   Enter resp. start a mainloop.

       $loop->leave ()
	   Leave the mainloop, which was started with the enter() method.

       $watcher	= $loop->add_io_watcher	( %options )
	   Add an I/O watcher. Options are passed as a hash of key/value
	   pairs. The following	options	are known:

	   fh  The filehandle to be watched.

	   cb  This callback is	called,	without	any parameters,	if an event
	       occured on the filehandle above.

	   desc
	       A description of	the watcher. Not necessarily implemented by
	       all modules, so it may be ignored.

	   poll
	       Either 'r', if your program reads from the filehandle, or 'w'
	       if it writes to it.

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

       $loop->del_io_watcher ( $watcher	)
	   Deletes an I/O watcher which	was added with
	   $loop->add_io_watcher().

       $timer =	$loop->add_timer ( %options )
	   This	sets a timer, a	subroutine called after	a specific timeout or
	   on a	regularly basis	with a fixed time interval.

	   Options are passed as a hash	of key/value pairs. The	following
	   options are known:

	   interval
	       A time interval in seconds, may be fractional.

	   after
	       Callback	is called once after this amount of seconds, may be
	       fractional.

	   cb  The callback.

	   desc
	       A description of	the timer. Not necessarily implemented by all
	       modules,	so it may be ignored.

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

       $loop->del_timer	( $timer )
	   Deletes a timer which was added with	$loop->add_timer().

DIRECT USAGE IN	YOUR SERVER
       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.

AUTHORS
	 JA<paragraph>rn Reder <joern at zyn dot de>

COPYRIGHT AND LICENSE
       Copyright (C) 2002-2006 by Joern	Reder, All Rights Reserved.

       This library is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

POD ERRORS
       Hey! The	above document had some	coding errors, which are explained
       below:

       Around line 155:
	   Non-ASCII character seen before =encoding in	'JA<paragraph>rn'.
	   Assuming CP1252

perl v5.32.1			  2009-04-22		   Event::RPC::Loop(3)

NAME | SYNOPSIS | DESCRIPTION | INTERFACE | DIRECT USAGE IN YOUR SERVER | AUTHORS | COPYRIGHT AND LICENSE | POD ERRORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Event::RPC::Loop&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help