예제 #1
0
파일: corecffi.py 프로젝트: sigshen/gevent
class _Callbacks(AbstractCallbacks):
    # pylint:disable=arguments-differ

    def python_check_callback(self, _loop, watcher_ptr, _events):
        pass

    def python_prepare_callback(self, _loop_ptr, watcher_ptr, _events):
        AbstractCallbacks.python_prepare_callback(self, watcher_ptr)

    def _find_loop_from_c_watcher(self, watcher_ptr):
        loop_handle = ffi.cast('struct ev_watcher*', watcher_ptr).data
        return self.from_handle(loop_handle)


_callbacks = assign_standard_callbacks(ffi, libev, _Callbacks)

UNDEF = libev.EV_UNDEF
NONE = libev.EV_NONE
READ = libev.EV_READ
WRITE = libev.EV_WRITE
TIMER = libev.EV_TIMER
PERIODIC = libev.EV_PERIODIC
SIGNAL = libev.EV_SIGNAL
CHILD = libev.EV_CHILD
STAT = libev.EV_STAT
IDLE = libev.EV_IDLE
PREPARE = libev.EV_PREPARE
CHECK = libev.EV_CHECK
EMBED = libev.EV_EMBED
FORK = libev.EV_FORK
예제 #2
0
파일: loop.py 프로젝트: cynepiaadmin/gevent
    def python_sigchld_callback(self, watcher_ptr, _signum):
        self.from_handle(ffi.cast('uv_handle_t*',
                                  watcher_ptr).data)._sigchld_callback()

    def python_timer0_callback(self, watcher_ptr):
        return self.python_prepare_callback(watcher_ptr)

    def python_queue_callback(self, watcher_ptr, revents):
        watcher_handle = watcher_ptr.data
        the_watcher = self.from_handle(watcher_handle)

        the_watcher.loop._queue_callback(watcher_ptr, revents)


_callbacks = assign_standard_callbacks(ffi, libuv, _Callbacks,
                                       [('python_sigchld_callback', None),
                                        ('python_timer0_callback', None),
                                        ('python_queue_callback', None)])

from gevent._ffi.loop import EVENTS
GEVENT_CORE_EVENTS = EVENTS  # export

from gevent.libuv import watcher as _watchers  # pylint:disable=no-name-in-module

_events_to_str = _watchers._events_to_str  # export

READ = libuv.UV_READABLE
WRITE = libuv.UV_WRITABLE


def get_version():
    uv_bytes = ffi.string(libuv.uv_version_string())
예제 #3
0
파일: loop.py 프로젝트: hongyegu/gevent
libuv = _corecffi.lib

__all__ = []


class _Callbacks(AbstractCallbacks):
    def _find_loop_from_c_watcher(self, watcher_ptr):
        loop_handle = ffi.cast('uv_handle_t*', watcher_ptr).data
        return self.from_handle(loop_handle)

    def python_sigchld_callback(self, watcher_ptr, _signum):
        self.from_handle(ffi.cast('uv_handle_t*',
                                  watcher_ptr).data)._sigchld_callback()


_callbacks = assign_standard_callbacks(ffi, libuv, _Callbacks,
                                       [('python_sigchld_callback', None)])

from gevent._ffi.loop import EVENTS

GEVENT_CORE_EVENTS = EVENTS  # export

from gevent.libuv import watcher as _watchers  # pylint:disable=no-name-in-module

_events_to_str = _watchers._events_to_str  # export

READ = libuv.UV_READABLE
WRITE = libuv.UV_WRITABLE


def get_version():
    uv_bytes = ffi.string(libuv.uv_version_string())
예제 #4
0
파일: loop.py 프로젝트: hsc00/Portfolio
    def python_queue_callback(self, watcher_ptr, revents):
        watcher_handle = watcher_ptr.data
        the_watcher = self.from_handle(watcher_handle)

        the_watcher.loop._queue_callback(watcher_ptr, revents)

    def __loop_from_loop_ptr(self, loop_ptr):
        loop_handle = loop_ptr.data
        return self.from_handle(loop_handle)


_callbacks = assign_standard_callbacks(
    ffi, libuv, _Callbacks,
    [
        'python_sigchld_callback',
        'python_timer0_callback',
        'python_queue_callback',
    ]
)

from gevent._ffi.loop import EVENTS
GEVENT_CORE_EVENTS = EVENTS # export

from gevent.libuv import watcher as _watchers # pylint:disable=no-name-in-module

_events_to_str = _watchers._events_to_str # export

READ = libuv.UV_READABLE
WRITE = libuv.UV_WRITABLE

def get_version():
예제 #5
0
파일: corecffi.py 프로젝트: gevent/gevent
from gevent._ffi.loop import assign_standard_callbacks

class _Callbacks(AbstractCallbacks):
    # pylint:disable=arguments-differ

    def python_check_callback(self, _loop, watcher_ptr, _events):
        pass

    def python_prepare_callback(self, _loop_ptr, watcher_ptr, _events):
        AbstractCallbacks.python_prepare_callback(self, watcher_ptr)

    def _find_loop_from_c_watcher(self, watcher_ptr):
        loop_handle = ffi.cast('struct ev_watcher*', watcher_ptr).data
        return self.from_handle(loop_handle)

_callbacks = assign_standard_callbacks(ffi, libev, _Callbacks)


UNDEF = libev.EV_UNDEF
NONE = libev.EV_NONE
READ = libev.EV_READ
WRITE = libev.EV_WRITE
TIMER = libev.EV_TIMER
PERIODIC = libev.EV_PERIODIC
SIGNAL = libev.EV_SIGNAL
CHILD = libev.EV_CHILD
STAT = libev.EV_STAT
IDLE = libev.EV_IDLE
PREPARE = libev.EV_PREPARE
CHECK = libev.EV_CHECK
EMBED = libev.EV_EMBED
예제 #6
0
파일: loop.py 프로젝트: sunrenjie/gevent
import os
from collections import defaultdict
from collections import namedtuple
import signal
from weakref import WeakValueDictionary

from gevent._ffi.loop import AbstractLoop
from gevent.libuv import _corecffi  # pylint:disable=no-name-in-module,import-error
from gevent._ffi.loop import assign_standard_callbacks

ffi = _corecffi.ffi
libuv = _corecffi.lib

__all__ = []

_callbacks = assign_standard_callbacks(ffi, libuv)

from gevent._ffi.loop import EVENTS
GEVENT_CORE_EVENTS = EVENTS  # export

from gevent.libuv import watcher as _watchers  # pylint:disable=no-name-in-module

_events_to_str = _watchers._events_to_str  # export

READ = libuv.UV_READABLE
WRITE = libuv.UV_WRITABLE


def get_version():
    uv_bytes = ffi.string(libuv.uv_version_string())
    if not isinstance(uv_bytes, str):