Package nbxmpp :: Module idlequeue :: Class IdleQueue
[hide private]
[frames] | no frames]

Class IdleQueue

source code


IdleQueue provide three distinct time based features. Uses select.poll()

  1. Alarm timeout: Execute a callback after foo seconds
  2. Timeout event: Call read_timeout() of an plugged object if a timeout has been set, but not removed in time.
  3. Check file descriptor of plugged objects for read, write and error events
Instance Methods [hide private]
 
__init__(self) source code
 
_init_idle(self)
Hook method for subclassed. Will be called by __init__
source code
 
set_alarm(self, alarm_cb, seconds)
Set up a new alarm. alarm_cb will be called after specified seconds.
source code
 
remove_alarm(self, alarm_cb, alarm_time)
Remove alarm callback alarm_cb scheduled on alarm_time. Returns True if it was removed sucessfully, otherwise False
source code
 
remove_timeout(self, fd, timeout=None)
Remove the read timeout
source code
 
set_read_timeout(self, fd, seconds, func=None)
Seta a new timeout. If it is not removed after specified seconds, func or obj.read_timeout() will be called
source code
 
_check_time_events(self)
Execute and remove alarm callbacks and execute func() or read_timeout() for plugged objects if specified time has ellapsed
source code
 
plug_idle(self, obj, writable=True, readable=True)
Plug an IdleObject into idlequeue. Filedescriptor fd must be set
source code
 
_add_idle(self, fd, flags)
Hook method for subclasses, called by plug_idle
source code
 
unplug_idle(self, fd)
Remove plugged IdleObject, specified by filedescriptor fd
source code
 
current_time(self) source code
 
_remove_idle(self, fd)
Hook method for subclassed, called by unplug_idle
source code
 
_process_events(self, fd, flags) source code
 
process(self)
Process idlequeue. Check for any pending timeout or alarm events. Call IdleObjects on possible and requested read, write and error events on their file descriptors
source code
Class Variables [hide private]
  PROCESS_TIMEOUT = (100, False)
Method Details [hide private]

__init__(self)
(Constructor)

source code 

_init_idle(self)

source code 
Hook method for subclassed. Will be called by __init__

set_alarm(self, alarm_cb, seconds)

source code 
Set up a new alarm. alarm_cb will be called after specified seconds.

remove_alarm(self, alarm_cb, alarm_time)

source code 
Remove alarm callback alarm_cb scheduled on alarm_time. Returns True if it was removed sucessfully, otherwise False

remove_timeout(self, fd, timeout=None)

source code 
Remove the read timeout

set_read_timeout(self, fd, seconds, func=None)

source code 

Seta a new timeout. If it is not removed after specified seconds, func or obj.read_timeout() will be called

A filedescriptor fd can have several timeouts.

_check_time_events(self)

source code 
Execute and remove alarm callbacks and execute func() or read_timeout() for plugged objects if specified time has ellapsed

plug_idle(self, obj, writable=True, readable=True)

source code 
Plug an IdleObject into idlequeue. Filedescriptor fd must be set
Parameters:
  • obj - the IdleObject
  • writable - True if obj has data to sent
  • readable - True if obj expects data to be reiceived

_add_idle(self, fd, flags)

source code 
Hook method for subclasses, called by plug_idle

unplug_idle(self, fd)

source code 
Remove plugged IdleObject, specified by filedescriptor fd

current_time(self)

source code 

_remove_idle(self, fd)

source code 
Hook method for subclassed, called by unplug_idle

_process_events(self, fd, flags)

source code 

process(self)

source code 

Process idlequeue. Check for any pending timeout or alarm events. Call IdleObjects on possible and requested read, write and error events on their file descriptors

Call this in regular intervals.


Class Variable Details [hide private]

PROCESS_TIMEOUT

Value:
(100, False)