예제 #1
0
        public void Init(UvLoopHandle loop)
        {
            var requestSize = loop.Libuv.req_size(Libuv.RequestType.CONNECT);

            CreateMemory(
                loop.Libuv,
                loop.ThreadId,
                requestSize);
        }
예제 #2
0
        public void Init(UvLoopHandle loop, Action callback, Action <Action <IntPtr>, IntPtr> queueCloseHandle)
        {
            CreateMemory(
                loop.Libuv,
                loop.ThreadId,
                loop.Libuv.handle_size(Libuv.HandleType.ASYNC));

            _callback         = callback;
            _queueCloseHandle = queueCloseHandle;
            _uv.async_init(loop, this, _uv_async_cb);
        }
예제 #3
0
        public void Init(UvLoopHandle loop)
        {
            var requestSize = loop.Libuv.req_size(Libuv.RequestType.WRITE);
            var bufferSize  = Marshal.SizeOf <Libuv.uv_buf_t>() * BUFFER_COUNT;

            CreateMemory(
                loop.Libuv,
                loop.ThreadId,
                requestSize + bufferSize);
            _bufs = handle + requestSize;
        }
예제 #4
0
파일: Libuv.cs 프로젝트: toomasz/emitter
 public static extern int uv_pipe_init(UvLoopHandle loop,UvPipeHandle handle,int ipc);
예제 #5
0
파일: Libuv.cs 프로젝트: toomasz/emitter
 public static extern int uv_tcp_init(UvLoopHandle loop,UvTcpHandle handle);
예제 #6
0
파일: Libuv.cs 프로젝트: toomasz/emitter
 public static extern int uv_async_init(UvLoopHandle loop,UvAsyncHandle handle,uv_async_cb cb);
예제 #7
0
파일: Libuv.cs 프로젝트: toomasz/emitter
 public static extern void uv_stop(UvLoopHandle handle);
예제 #8
0
파일: Libuv.cs 프로젝트: toomasz/emitter
 public static extern int uv_run(UvLoopHandle handle,int mode);
예제 #9
0
파일: Libuv.cs 프로젝트: toomasz/emitter
 public static extern int uv_loop_init(UvLoopHandle handle);
예제 #10
0
파일: Libuv.cs 프로젝트: toomasz/emitter
 public void pipe_init(UvLoopHandle loop, UvPipeHandle handle, bool ipc)
 {
     loop.Validate();
     handle.Validate();
     Check(_uv_pipe_init(loop, handle, ipc ? -1 : 0));
 }
예제 #11
0
파일: Libuv.cs 프로젝트: toomasz/emitter
 public void tcp_init(UvLoopHandle loop, UvTcpHandle handle)
 {
     loop.Validate();
     handle.Validate();
     Check(_uv_tcp_init(loop, handle));
 }
예제 #12
0
파일: Libuv.cs 프로젝트: toomasz/emitter
 public void async_init(UvLoopHandle loop, UvAsyncHandle handle, uv_async_cb cb)
 {
     loop.Validate();
     handle.Validate();
     Check(_uv_async_init(loop, handle, cb));
 }
예제 #13
0
파일: Libuv.cs 프로젝트: toomasz/emitter
 public void stop(UvLoopHandle handle)
 {
     handle.Validate();
     _uv_stop(handle);
 }
예제 #14
0
파일: Libuv.cs 프로젝트: toomasz/emitter
 public int run(UvLoopHandle handle, int mode)
 {
     handle.Validate();
     return(Check(_uv_run(handle, mode)));
 }
예제 #15
0
파일: Libuv.cs 프로젝트: toomasz/emitter
 public void loop_close(UvLoopHandle handle)
 {
     handle.Validate(closed: true);
     Check(_uv_loop_close(handle.InternalGetHandle()));
 }
예제 #16
0
파일: Libuv.cs 프로젝트: toomasz/emitter
 unsafe public static extern int uv_walk(UvLoopHandle loop,uv_walk_cb walk_cb,IntPtr arg);
예제 #17
0
파일: Libuv.cs 프로젝트: toomasz/emitter
 public void loop_init(UvLoopHandle handle)
 {
     Check(_uv_loop_init(handle));
 }
예제 #18
0
파일: Libuv.cs 프로젝트: toomasz/emitter
 unsafe public void walk(UvLoopHandle loop, uv_walk_cb walk_cb, IntPtr arg)
 {
     loop.Validate();
     _uv_walk(loop, walk_cb, arg);
 }