Search results for "module:IO::Lambda"
IO::Lambda - non-blocking I/O as lambda calculus
This module is another attempt to fight the horrors of non-blocking I/O. It tries to bring back the simplicity of the declarative programming style, that is only available when one employs threads, coroutines, or co-processes. Usually coding non-bloc...
KARASIK/IO-Lambda-1.33 - 15 Apr 2024 08:40:01 UTC
IO::Lambda::DNS - DNS queries lambda style
The module provides access to asynchronous DNS queries through Net::DNS. Two function doing the same operation are featured: constructor "new" and condition "dns"....
KARASIK/IO-Lambda-1.33 - 15 Apr 2024 08:40:01 UTC
IO::Lambda::DBI - asynchronous DBI
The module implements asynchronous DBI proxy object, that remotes DBI calls using any given file handle, such as stream sockets, pipes, etc. All calls to DBI methods are implemented as method calls to the object, which return lambdas, that shall be s...
KARASIK/IO-Lambda-1.33 - 15 Apr 2024 08:40:01 UTC
IO::Lambda::SNMP - snmp requests lambda style
The module exports a set of conditions: snmpget, snmpfget, snmpgetnext, snmpfgetnext, snmpset, and snmpbulkwalk, that behave like the corresponding SNMP:: non-blocking counterpart functions. See SNMP for descriptions of their parameters and results....
KARASIK/IO-Lambda-1.33 - 15 Apr 2024 08:40:01 UTC
IO::Lambda::Poll - emulate asynchronous behavior by polling
The module wraps functions, that can only be used in the polling mode, and provides a layer between them and the lambda framework....
KARASIK/IO-Lambda-1.33 - 15 Apr 2024 08:40:01 UTC
IO::Lambda::HTTP - http requests lambda style
The module exports a single condition "http_request" that accepts a "HTTP::Request" object and set of options as parameters. The condition returns either a "HTTP::Response" on success, or an error string otherwise....
KARASIK/IO-Lambda-1.33 - 15 Apr 2024 08:40:01 UTC
IO::Lambda::Fork - wait for blocking code in children processes
The module implements the lambda wrapper that allows to wait asynchronously for blocking code in another process' context. "IO::Lambda::Fork" provides a twofold interface for that: the lambda interface, that can wait for the forked child processes, a...
KARASIK/IO-Lambda-1.33 - 15 Apr 2024 08:40:01 UTC
IO::Lambda::Message - message passing queue
The module implements a generic message passing protocol, and two generic classes that implement the server and the client functionality. The server code is implemented in a simple, blocking fashion, and is expected to be executed remotely. The clien...
KARASIK/IO-Lambda-1.33 - 15 Apr 2024 08:40:01 UTC
IO::Lambda::Mutex - wait for a shared resource
Objects of class "IO::Lambda::Mutex" are mutexes, that as normal mutexes, can be taken and released. The mutexes allow lambdas to wait for their availability with method "waiter", that creates and returns a new lambda, that in turn will finish as soo...
KARASIK/IO-Lambda-1.33 - 15 Apr 2024 08:40:01 UTC
IO::Lambda::Flock - lambda-style file locking
The module provides file locking interface for the lambda style, implemented by using non-blocking, periodic polling of flock(2)....
KARASIK/IO-Lambda-1.33 - 15 Apr 2024 08:40:01 UTC
IO::Lambda::Thread - wait for blocking code using threads
The module implements a lambda wrapper that allows to asynchronously wait for a blocking code. The wrapping is done so that the code is executed in another thread's context. "IO::Lambda::Thread" provides bidirectional communication between threads, t...
KARASIK/IO-Lambda-1.33 - 15 Apr 2024 08:40:01 UTC
IO::Lambda::Socket - wrapper condition for socket functions
This module provides a set of convenient wrapper conditions for sockets that function as sources of asynchronous events. The condition names are homonyms of the underlying socket functions: "accept", "connect", "recv", and "send". The module doesn't ...
KARASIK/IO-Lambda-1.33 - 15 Apr 2024 08:40:01 UTC
IO::Lambda::Signal - wait for pids and signals
The module provides access to the signal-based callbacks: generic signal listener "signal", process ID listener "pid", and the asynchronous version of *system* call, "spawn"....
KARASIK/IO-Lambda-1.33 - 15 Apr 2024 08:40:01 UTC
IO::Lambda::Inotify - bridge between IO::Lambda and Linux::Inotify2
The module is a bridge between Linux::Inotify2 and IO::Lambda. It uses lambda-style wrappers for subscribe and listen to inotify events, in the more or less the same interface as Linux::Inotify2 does, but with extra timeout capability for free. The m...
KARASIK/IO-Lambda-Inotify-1.01 - 07 May 2012 18:25:17 UTC
IO::Lambda::Throttle - rate-limiting facility
Provides several interfaces for throttling control flow by imposing rate limit....
KARASIK/IO-Lambda-1.33 - 15 Apr 2024 08:40:01 UTC
IO::Lambda::Backtrace - backtrace chains of events
The module makes it easier to debug chains of events, when a lambda awaits for another, this one in turn for another, etc etc. The class "IO::Lambda::Backtrace" represents a set of such stacks, because a lambda can be awaited by more than one lambda....
KARASIK/IO-Lambda-1.33 - 15 Apr 2024 08:40:01 UTC
IO::Lambda::Loop::POE - POE event loop for IO::Lambda
This is the implementation of event loop for "IO::Lambda" based on "POE" event loop. The module is not intended for direct use....
KARASIK/IO-Lambda-1.33 - 15 Apr 2024 08:40:01 UTC
IO::Lambda::Loop::Glib - Glib event loop for IO::Lambda
This is the implementation of event loop for "IO::Lambda" based on "Glib" event loop. The module is not intended for direct use....
KARASIK/IO-Lambda-1.33 - 15 Apr 2024 08:40:01 UTC
IO::Lambda::Loop::Prima - Prima-based event loop for IO::Lambda
This is the implementation of event loop for "IO::Lambda" based on "Prima" event loop. The module is not intended for direct use....
KARASIK/IO-Lambda-1.33 - 15 Apr 2024 08:40:01 UTC
IO::Lambda::HTTP::HTTPS - https requests lambda style
The module is used internally by IO::Lambda::HTTP, and is a separate module for the sake of installations that contain "IO::Socket::SSL" and "Net::SSLeay" prerequisite modules. The module is not to be used directly....
KARASIK/IO-Lambda-1.33 - 15 Apr 2024 08:40:01 UTC