diff options
author | def <dennis@felsin9.de> | 2015-02-24 16:37:04 +0100 |
---|---|---|
committer | def <dennis@felsin9.de> | 2015-02-24 16:37:04 +0100 |
commit | 7898e91c32acb99025cf7e0d2261f0e7039ba95b (patch) | |
tree | 044de0ef8885ae07ea1e7f61e4e2585747b3a83c /lib/pure | |
parent | 3cd79faad3238d8158f0b357aebe3b7af6c1a73e (diff) | |
download | Nim-7898e91c32acb99025cf7e0d2261f0e7039ba95b.tar.gz |
Clean up selectors documentation a bit
Diffstat (limited to 'lib/pure')
-rw-r--r-- | lib/pure/selectors.nim | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/lib/pure/selectors.nim b/lib/pure/selectors.nim index 2ed53ef3f..b6bc9dd3a 100644 --- a/lib/pure/selectors.nim +++ b/lib/pure/selectors.nim @@ -48,12 +48,21 @@ when defined(nimdoc): events: set[Event]): SelectorKey {.discardable.} = ## Updates the events which ``fd`` wants notifications for. + proc unregister*(s: Selector, fd: SocketHandle): SelectorKey {.discardable.} = + ## Unregisters file descriptor ``fd`` from selector ``s``. + + proc close*(s: Selector) = + ## Closes the selector + proc select*(s: Selector, timeout: int): seq[ReadyInfo] = ## The ``events`` field of the returned ``key`` contains the original events ## for which the ``fd`` was bound. This is contrary to the ``events`` field ## of the ``TReadyInfo`` tuple which determines which events are ready ## on the ``fd``. + proc newSelector*(): Selector = + ## Creates a new selector + proc contains*(s: Selector, fd: SocketHandle): bool = ## Determines whether selector contains a file descriptor. @@ -78,8 +87,6 @@ elif defined(linux): proc register*(s: Selector, fd: SocketHandle, events: set[Event], data: RootRef): SelectorKey {.discardable.} = - ## Registers file descriptor ``fd`` to selector ``s`` with a set of TEvent - ## ``events``. var event = createEventStruct(events, fd) if events != {}: if epoll_ctl(s.epollFD, EPOLL_CTL_ADD, fd, addr(event)) != 0: @@ -92,7 +99,6 @@ elif defined(linux): proc update*(s: Selector, fd: SocketHandle, events: set[Event]): SelectorKey {.discardable.} = - ## Updates the events which ``fd`` wants notifications for. if s.fds[fd].events != events: if events == {}: # This fd is idle -- it should not be registered to epoll. @@ -204,7 +210,6 @@ elif not defined(nimdoc): proc update*(s: Selector, fd: SocketHandle, events: set[Event]): SelectorKey {.discardable.} = - ## Updates the events which ``fd`` wants notifications for. if not s.fds.hasKey(fd): raise newException(ValueError, "File descriptor not found.") |