Skip to content

Commit 6113525

Browse files
Merge pull request #18 from async-interop/readme
README
2 parents eca2278 + 7d15156 commit 6113525

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

README.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Event Loop Interopability
2+
3+
The purpose of this proposal is to provide a common interface for event loop
4+
implementations. This will allow libraries and components from different
5+
vendors to operate in an event driven architecture, sharing a common event
6+
loop.
7+
8+
## Why Bother?
9+
10+
Some programming languages, such as Javascript, have an event loop that is
11+
native to the execution environment. This allows package vendors to easily
12+
create asynchronous software that uses this native event loop. Although PHP
13+
is historically a synchronous programming environment, it is still possible
14+
to use asynchronous programming techniques. Using these techniques, package
15+
vendors have created PHP event loop implementations that have seen success.
16+
17+
However, as these event loop implementations are from package vendors, it
18+
is not yet possible to create event driven software components that are
19+
independent of the underlying event loop implementation. By creating a
20+
common interface for an event loop, interoperability of this nature will
21+
be possible.
22+
23+
## Goals
24+
25+
The functionality exposed by this interface should include the ability to:
26+
27+
- Watch input streams for available data
28+
- Watch output streams for the ability to perform non-blocking write operations
29+
- Run single and periodic timers
30+
- Listen for signals
31+
- Defer the execution of callables
32+
33+
## Contributors
34+
35+
* [Aaron Piotrowski](https://github.com/trowski)
36+
* [Andrew Carter](https://github.com/AndrewCarterUK)
37+
* [Bob Weinand](https://github.com/bwoebi)
38+
* [Cees-Jan Kiewiet](https://github.com/WyriHaximus)
39+
* [Christopher Pitt](https://github.com/assertchris)
40+
* [Niklas Keller](https://github.com/kelunik)
41+
* [Stephen M. Coakley](https://github.com/coderstephen)

0 commit comments

Comments
 (0)