doc/PLAN

Mon, 15 Feb 2010 06:24:06 +0500

author
Waqas Hussain <waqas20@gmail.com>
date
Mon, 15 Feb 2010 06:24:06 +0500
changeset 76
0ad46f11657a
parent 13
3e2ea1e7b2e8
permissions
-rw-r--r--

luaevent.h: sys/time.h is not available with MSVC, use winsock2.h on windows.

13
3e2ea1e7b2e8 Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff changeset
1 -- Listener Scenario
3e2ea1e7b2e8 Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff changeset
2 create socket, perform bind, set listening
3e2ea1e7b2e8 Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff changeset
3 +add read-event listener
3e2ea1e7b2e8 Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff changeset
4 +start loop
3e2ea1e7b2e8 Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff changeset
5
3e2ea1e7b2e8 Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff changeset
6 -- Comm Scenario
3e2ea1e7b2e8 Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff changeset
7 provided socket
3e2ea1e7b2e8 Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff changeset
8 -inside loop
3e2ea1e7b2e8 Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff changeset
9 begin coro
3e2ea1e7b2e8 Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff changeset
10 read - data not ready
3e2ea1e7b2e8 Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff changeset
11 yield sock, needRead
3e2ea1e7b2e8 Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff changeset
12 end coro
3e2ea1e7b2e8 Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff changeset
13 coro parent == callback
3e2ea1e7b2e8 Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff changeset
14 (coro parent
3e2ea1e7b2e8 Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff changeset
15 call coro(sock, event)
3e2ea1e7b2e8 Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff changeset
16 if not ok, go back.. end
3e2ea1e7b2e8 Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff changeset
17 if newEvent ~= event then
3e2ea1e7b2e8 Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff changeset
18 unset event, reset newEvent
3e2ea1e7b2e8 Reformed project layout from 'luaevent/*' -> '*'
Thomas Harning Jr <harningt@gmail.com>
parents:
diff changeset
19 end)

mercurial