public UvLoopThread(LibUv libUv, string name, Action <OwinSocket> owinHttpProcess) { if (libUv == null) { throw new ArgumentNullException("libuv"); } _libuv = libUv; _name = name; _owinHttpProcess = owinHttpProcess; _loopHandle = new LoopHandle(); _asyncHand1 = new AsyncHandle(); _asyncHand2 = new AsyncHandle(); _loopThread = new Thread(InitLoopThread); }
public Listener(LibUv libUv, string bindAddr, int bindPort, string tmpPath, Action <OwinSocket> owinHttpProcess) { if (libUv == null) { throw new ArgumentNullException("libuv"); } _libuv = libUv; _bindAddr = bindAddr; //绑定的ip _bindPort = bindPort; //绑定的端口 _tmpPath = tmpPath; _owinHttpProcess = owinHttpProcess; _loopHandle = new LoopHandle(); _asyncHand1 = new AsyncHandle(); _asyncHand2 = new AsyncHandle(); _loopThread = new Thread(InitLoopThread); }
/// <summary> /// Init /// </summary> /// <param name="loopHandle"></param> /// <param name="flag">若是 IPC 或命名管道,应该设置为 true</param> public void Init(LoopHandle loopHandle, bool flag = true) { Init(loopHandle.LibUv, loopHandle.LibUv.NamePipeHandleSize, loopHandle.LoopRunThreadId); LibUv.PipeInit(loopHandle, this, flag); }