Sha256: bfba3ee1a8e85bcc3506d3c35c0e524b85a76f4329fd5327e4cde6058942a0bd
Contents?: true
Size: 1003 Bytes
Versions: 3
Compression:
Stored size: 1003 Bytes
Contents
// Copyright 2009 Ryan Dahl <ry@tinyclouds.org> #ifndef NODE_IO_H_ #define NODE_IO_H_ #include <node_object_wrap.h> #include <ev.h> namespace node { class IOWatcher : ObjectWrap { public: static void Initialize(v8::Handle<v8::Object> target); protected: static v8::Persistent<v8::FunctionTemplate> constructor_template; IOWatcher() : ObjectWrap() { ev_init(&watcher_, IOWatcher::Callback); watcher_.data = this; } ~IOWatcher() { ev_io_stop(EV_DEFAULT_UC_ &watcher_); assert(!ev_is_active(&watcher_)); assert(!ev_is_pending(&watcher_)); } static v8::Handle<v8::Value> New(const v8::Arguments& args); static v8::Handle<v8::Value> Start(const v8::Arguments& args); static v8::Handle<v8::Value> Stop(const v8::Arguments& args); static v8::Handle<v8::Value> Set(const v8::Arguments& args); private: static void Callback(EV_P_ ev_io *watcher, int revents); void Start(); void Stop(); ev_io watcher_; }; } // namespace node #endif // NODE_IO_H_
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rednode-0.1.2 | ext/node/src/node_io_watcher.h |
rednode-0.1.1 | ext/node/src/node_io_watcher.h |
rednode-0.1.0 | ext/node/src/node_io_watcher.h |