<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://alteeve.com/w/index.php?action=history&amp;feed=atom&amp;title=Net%3A%3ADBus%3A%3AReactor_Methods</id>
	<title>Net::DBus::Reactor Methods - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://alteeve.com/w/index.php?action=history&amp;feed=atom&amp;title=Net%3A%3ADBus%3A%3AReactor_Methods"/>
	<link rel="alternate" type="text/html" href="https://alteeve.com/w/index.php?title=Net::DBus::Reactor_Methods&amp;action=history"/>
	<updated>2026-07-02T19:49:12Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://alteeve.com/w/index.php?title=Net::DBus::Reactor_Methods&amp;diff=458&amp;oldid=prev</id>
		<title>Digimer: Created page with &#039;{{dbtut_header}}  = new =  Usage: &lt;source lang=&quot;perl&quot;&gt;my $reactor=Net::DBus::Reactor-&gt;new();&lt;/source&gt;  This creates a new event loop that is ready to monitor filehandles and time…&#039;</title>
		<link rel="alternate" type="text/html" href="https://alteeve.com/w/index.php?title=Net::DBus::Reactor_Methods&amp;diff=458&amp;oldid=prev"/>
		<updated>2009-10-12T02:59:53Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;#039;{{dbtut_header}}  = new =  Usage: &amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;my $reactor=Net::DBus::Reactor-&amp;gt;new();&amp;lt;/source&amp;gt;  This creates a new event loop that is ready to monitor filehandles and time…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Páàjì titun&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{dbtut_header}}&lt;br /&gt;
&lt;br /&gt;
= new =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;my $reactor=Net::DBus::Reactor-&amp;gt;new();&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a new event loop that is ready to monitor filehandles and timeouts.&lt;br /&gt;
&lt;br /&gt;
However, you should not use this method, but instead you should use the &amp;#039;[[Net::DBus::Reactor Methods#main|main]]&amp;#039; method. Using this directly will mean that the handle returned to you will be available within the scope of your module only, requiring you to pass it around as needed.&lt;br /&gt;
&lt;br /&gt;
= main =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;my $reactor=Net::DBus::Reactor-&amp;gt;main;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a handle to the main event loop.&lt;br /&gt;
&lt;br /&gt;
This is the prefered method for creating a new event loop as it removes the need for modules to pass around handles to their privately created reactors. When this is called, it checks if there is a pre-existing reactor loop. If not, it starts one. If so, it returns it directly.&lt;br /&gt;
&lt;br /&gt;
= manage =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
use Net::DBus;&lt;br /&gt;
my $bus=Net::DBus-&amp;gt;find();&lt;br /&gt;
my $connection=$bus-&amp;gt;get_connection;  # You could use the connection below, if&lt;br /&gt;
                                      # not using a well known bus.&lt;br /&gt;
#my $connection=Net::DBus::Binding::Connection-&amp;gt;new(address =&amp;gt; &amp;quot;unix:path=/path/to/socket&amp;quot;);&lt;br /&gt;
$reactor-&amp;gt;manage($connection);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Or&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
use Net::DBus;&lt;br /&gt;
my $server = Net::DBus::Binding::Server-&amp;gt;new(address =&amp;gt; &amp;quot;unix:path=/path/to/socket&amp;quot;);&lt;br /&gt;
$reactor-&amp;gt;manage($server);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This registers a handle to the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;Net::DBus::Binding::Connection&amp;lt;/span&amp;gt;&amp;#039; or &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;Net::DBus::Binding::Server&amp;lt;/span&amp;gt;&amp;#039; object with the main reactor event loop.&lt;br /&gt;
&lt;br /&gt;
Generally you will not need to call this directly, as the [[Net::DBus Methods#new|Net::DBus-&amp;gt;new]] call will handle this.&lt;br /&gt;
&lt;br /&gt;
= run =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;$reactor-&amp;gt;run();&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you have registered at least one filehandle with the reactor, you can call this method to start the event loop. Calling this without a registered filehandle will cause it to immediately exit.&lt;br /&gt;
&lt;br /&gt;
This reactor will run until all registered filehandles and timeouts have been removed or disabled, or until the &amp;#039;[[Net::DBus::Reactor Methods#shutdown|shutdown]]&amp;#039; method is called.&lt;br /&gt;
&lt;br /&gt;
= shutdown =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;$reactor-&amp;gt;shutdown();&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This shuts down the reactor as soon as all events currently being processed have finished.&lt;br /&gt;
&lt;br /&gt;
= step =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;$reactor-&amp;gt;step();&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This steps through one iteration of the reactor loop. Generally you should not need to call this.&lt;br /&gt;
&lt;br /&gt;
= add_read =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
use Net::DBus;&lt;br /&gt;
my $bus=Net::DBus-&amp;gt;find;&lt;br /&gt;
my $service=$bus-&amp;gt;get_service(&amp;quot;org.freedesktop.DBus&amp;quot;);&lt;br /&gt;
my $object=$service-&amp;gt;get_object(&amp;quot;/org/freedesktop/DBus&amp;quot;);&lt;br /&gt;
my $name=&amp;quot;SomeMethod&amp;quot;;&lt;br /&gt;
$callback=Net::DBus::Callback-&amp;gt;new(&lt;br /&gt;
        object =&amp;gt; $object,&lt;br /&gt;
        method =&amp;gt; $name);&lt;br /&gt;
my $filehandle=&amp;quot;&amp;quot;; # I need an example of where this might come from. IO::Handle-&amp;gt;new, likely but what about objects?&lt;br /&gt;
$status=&amp;quot;1&amp;quot;;       # Optional boolean value, set to &amp;#039;1&amp;#039; to monitor this event&lt;br /&gt;
                   # right away, &amp;#039;0&amp;#039; to disable initially. Default is &amp;#039;1&amp;#039;.&lt;br /&gt;
$reactor-&amp;gt;add_read($filehandle, $callback[, $status]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This registers the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$filehandle&amp;lt;/span&amp;gt;&amp;#039; with the reactor event loop which will react to read events. When ever a read event is detected, the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$callback&amp;lt;/span&amp;gt;&amp;#039; will be invoked. The optional &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$status&amp;lt;/span&amp;gt;&amp;#039; value is a [[boolean]] value that tells the reactor loop whether the filehandle is initially watched (&amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&amp;#039;) or not (&amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;#039;). By default, it is.&lt;br /&gt;
&lt;br /&gt;
= add_write =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
use Net::DBus;&lt;br /&gt;
my $bus=Net::DBus-&amp;gt;find;&lt;br /&gt;
my $service=$bus-&amp;gt;get_service(&amp;quot;org.freedesktop.DBus&amp;quot;);&lt;br /&gt;
my $object=$service-&amp;gt;get_object(&amp;quot;/org/freedesktop/DBus&amp;quot;);&lt;br /&gt;
my $name=&amp;quot;SomeMethod&amp;quot;;&lt;br /&gt;
$callback=Net::DBus::Callback-&amp;gt;new(&lt;br /&gt;
        object =&amp;gt; $object,&lt;br /&gt;
        method =&amp;gt; $name);&lt;br /&gt;
my $filehandle=&amp;quot;&amp;quot;;&lt;br /&gt;
$status=&amp;quot;1&amp;quot;;       # Optional boolean value, set to &amp;#039;1&amp;#039; to monitor this event&lt;br /&gt;
                   # right away, &amp;#039;0&amp;#039; to disable initially. Default is &amp;#039;1&amp;#039;.&lt;br /&gt;
$reactor-&amp;gt;add_write($filehandle, $callback[, $status]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This registers the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$filehandle&amp;lt;/span&amp;gt;&amp;#039; with the reactor event loop which will react to write events. When ever a write event is detected, the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$callback&amp;lt;/span&amp;gt;&amp;#039; will be invoked. The optional &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$status&amp;lt;/span&amp;gt;&amp;#039; value is a [[boolean]] value that tells the reactor loop whether the filehandle is initially watched (&amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&amp;#039;) or not (&amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;#039;). By default, it is.&lt;br /&gt;
&lt;br /&gt;
= add_exception =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
use Net::DBus;&lt;br /&gt;
my $bus=Net::DBus-&amp;gt;find;&lt;br /&gt;
my $service=$bus-&amp;gt;get_service(&amp;quot;org.freedesktop.DBus&amp;quot;);&lt;br /&gt;
my $object=$service-&amp;gt;get_object(&amp;quot;/org/freedesktop/DBus&amp;quot;);&lt;br /&gt;
my $name=&amp;quot;SomeMethod&amp;quot;;&lt;br /&gt;
$callback=Net::DBus::Callback-&amp;gt;new(&lt;br /&gt;
        object =&amp;gt; $object,&lt;br /&gt;
        method =&amp;gt; $name);&lt;br /&gt;
my $filehandle=&amp;quot;&amp;quot;;&lt;br /&gt;
$status=&amp;quot;1&amp;quot;;       # Optional boolean value, set to &amp;#039;1&amp;#039; to monitor this event&lt;br /&gt;
                   # right away, &amp;#039;0&amp;#039; to disable initially. Default is &amp;#039;1&amp;#039;.&lt;br /&gt;
$reactor-&amp;gt;add_exception($filehandle, $callback[, $status]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This registers the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$filehandle&amp;lt;/span&amp;gt;&amp;#039; with the reactor event loop which will react to exceptions raised by this file handle. When ever an exception event is detected, the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$callback&amp;lt;/span&amp;gt;&amp;#039; will be invoked. The optional &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$status&amp;lt;/span&amp;gt;&amp;#039; value is a [[boolean]] value that tells the reactor loop whether the filehandle is initially watched (&amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&amp;#039;) or not (&amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;#039;). By default, it is.&lt;br /&gt;
&lt;br /&gt;
= add_timeout =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
use Net::DBus;&lt;br /&gt;
my $bus=Net::DBus-&amp;gt;find;&lt;br /&gt;
my $service=$bus-&amp;gt;get_service(&amp;quot;org.freedesktop.DBus&amp;quot;);&lt;br /&gt;
my $object=$service-&amp;gt;get_object(&amp;quot;/org/freedesktop/DBus&amp;quot;);&lt;br /&gt;
my $name=&amp;quot;SomeMethod&amp;quot;;&lt;br /&gt;
$callback=Net::DBus::Callback-&amp;gt;new(&lt;br /&gt;
        object =&amp;gt; $object,&lt;br /&gt;
        method =&amp;gt; $name);&lt;br /&gt;
my $timeout=1000;    # Will loop every 1 second.&lt;br /&gt;
$status=&amp;quot;1&amp;quot;;&lt;br /&gt;
my $id=$reactor-&amp;gt;add_timeout($timeout, $callback[, $status]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This registers a timeout with the reactor loop that triggers a [[Net::DBus::Reactos#step|step]] every &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$timeout&amp;lt;/span&amp;gt;&amp;#039; milliseconds. This call returns an &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$id&amp;lt;/span&amp;gt;&amp;#039; that can later be used to disable this loop. The optional &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$status&amp;lt;/span&amp;gt;&amp;#039; value is a [[boolean]] value that tells the reactor loop whether this timeout loop is initially watched (&amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&amp;#039;) or not (&amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;#039;). By default, it is.&lt;br /&gt;
&lt;br /&gt;
= remove_timeout =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;$reactor-&amp;gt;remove_timeout($id);&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This removes the registered timeout loop with the given &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$id&amp;lt;/span&amp;gt;&amp;#039; from the reactor loop.&lt;br /&gt;
&lt;br /&gt;
= toggle_timeout =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $status=1;&lt;br /&gt;
my $new_timeout=5000;&lt;br /&gt;
$reactor-&amp;gt;toggle_timeout($id, $status[, $new_timeout]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This changes the registered timeout event with the given &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$id&amp;lt;/span&amp;gt;&amp;#039;. The &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$status&amp;lt;/span&amp;gt;&amp;#039; value is a [[boolean]], with &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&amp;#039; (re)enabling the loop and &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;#039; pausing it. Optionally, you can pass a &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$new_timeout&amp;lt;/span&amp;gt;&amp;#039; value which will change the timeout period to the set number of milliseconds.&lt;br /&gt;
&lt;br /&gt;
= add_hook =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $service=$bus-&amp;gt;get_service(&amp;quot;org.freedesktop.DBus&amp;quot;);&lt;br /&gt;
my $object=$service-&amp;gt;get_object(&amp;quot;/org/freedesktop/DBus&amp;quot;);&lt;br /&gt;
my $name=&amp;quot;SomeMethod&amp;quot;;&lt;br /&gt;
$callback=Net::DBus::Callback-&amp;gt;new(&lt;br /&gt;
        object =&amp;gt; $object,&lt;br /&gt;
        method =&amp;gt; $name);&lt;br /&gt;
my $id=$reactor-&amp;gt;add_hook($callback[, $status]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This registers a &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$callback&amp;lt;/span&amp;gt;&amp;#039; with the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$reactor&amp;lt;/span&amp;gt;&amp;#039; event loop that is triggered on every iteration of the loop. This call returns an &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$id&amp;lt;/span&amp;gt;&amp;#039; that can later be used to disable this hook. The optional &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$status&amp;lt;/span&amp;gt;&amp;#039; value is a [[boolean]] value that tells the reactor loop whether this hook is initially watched (&amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&amp;#039;) or not (&amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;#039;). By default, it is.&lt;br /&gt;
&lt;br /&gt;
= remove_hook =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;$reactor-&amp;gt;remove_hook($id);&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This removes the registered hook with the given &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$id&amp;lt;/span&amp;gt;&amp;#039; from the reactor loop.&lt;br /&gt;
&lt;br /&gt;
= toggle_hook =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $status=1;&lt;br /&gt;
$reactor-&amp;gt;toggle_timeout($id, $status);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This changes the registered timeout event with the given &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$id&amp;lt;/span&amp;gt;&amp;#039;. The &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$status&amp;lt;/span&amp;gt;&amp;#039; value is a [[boolean]], with &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&amp;#039; (re)enabling the loop and &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;#039; pausing it. Optionally, you can pass a &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$new_timeout&amp;lt;/span&amp;gt;&amp;#039; value which will change the timeout period to the set number of milliseconds.&lt;br /&gt;
&lt;br /&gt;
= remove_read =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;$reactor-&amp;gt;remove_read($filehandle);&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This removes the registered &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$filehandle&amp;lt;/span&amp;gt;&amp;#039; read events from the reactor loop.&lt;br /&gt;
&lt;br /&gt;
= remove_write =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;$reactor-&amp;gt;remove_write($filehandle);&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This removes the registered &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$filehandle&amp;lt;/span&amp;gt;&amp;#039; write events from the reactor loop.&lt;br /&gt;
&lt;br /&gt;
= remove_exception =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;$reactor-&amp;gt;remove_exception($filehandle);&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This removes the registered &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$filehandle&amp;lt;/span&amp;gt;&amp;#039; exception events from the reactor loop.&lt;br /&gt;
&lt;br /&gt;
= toggle_read =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $status=0;&lt;br /&gt;
$reactor-&amp;gt;toggle_read($filehandle, $status);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This enables or pauses the registered &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$filehandle&amp;lt;/span&amp;gt;&amp;#039; read events in the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$reactor&amp;lt;/span&amp;gt;&amp;#039; loop. Setting &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$status&amp;lt;/span&amp;gt;&amp;#039; to &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&amp;#039; will (re)enable it and &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;#039; will pause it.&lt;br /&gt;
&lt;br /&gt;
= toggle_write =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $status=0;&lt;br /&gt;
$reactor-&amp;gt;toggle_write($filehandle, $status);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This enables or pauses the registered &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$filehandle&amp;lt;/span&amp;gt;&amp;#039; write events in the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$reactor&amp;lt;/span&amp;gt;&amp;#039; loop. Setting &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$status&amp;lt;/span&amp;gt;&amp;#039; to &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&amp;#039; will (re)enable it and &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;#039; will pause it.&lt;br /&gt;
&lt;br /&gt;
= toggle_exception =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $status=0;&lt;br /&gt;
$reactor-&amp;gt;toggle_exception($filehandle, $status);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This enables or pauses the registered &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$filehandle&amp;lt;/span&amp;gt;&amp;#039; exception events in the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$reactor&amp;lt;/span&amp;gt;&amp;#039; loop. Setting &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$status&amp;lt;/span&amp;gt;&amp;#039; to &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&amp;#039; will (re)enable it and &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;#039; will pause it.&lt;br /&gt;
&lt;br /&gt;
{{footer}}&lt;/div&gt;</summary>
		<author><name>Digimer</name></author>
	</entry>
</feed>