static SocketFactory() { _open = SocketOpened; _close = SocketClose; _requestClose = SocketRequestClose; _write = SocketWrittenTo; _completedReceive = SocketCompletedReceive; _dispose = SocketDispose; InternalFactory = new C4SocketFactory { framing = C4SocketFraming.WebSocketClientFraming, open = Marshal.GetFunctionPointerForDelegate(_open), close = Marshal.GetFunctionPointerForDelegate(_close), write = Marshal.GetFunctionPointerForDelegate(_write), completedReceive = Marshal.GetFunctionPointerForDelegate(_completedReceive), dispose = Marshal.GetFunctionPointerForDelegate(_dispose) }; Native.c4socket_registerFactory(InternalFactory); }
private IntPtr requestClose; // unused in .NET public C4SocketFactory(SocketOpenDelegate open, SocketCloseDelegate close, SocketWriteDelegate write, SocketCompletedReceiveDelegate completedReceive) { this.open = Marshal.GetFunctionPointerForDelegate(open); this.write = Marshal.GetFunctionPointerForDelegate(write); this.completedReceive = Marshal.GetFunctionPointerForDelegate(completedReceive); this.close = Marshal.GetFunctionPointerForDelegate(close); this.requestClose = IntPtr.Zero; this.providesWebSockets = 0; }
public C4SocketFactory(SocketOpenDelegate open, SocketCloseDelegate close, SocketWriteDelegate write, SocketCompletedReceiveDelegate completedReceive) { this.open = Marshal.GetFunctionPointerForDelegate(open); this.close = Marshal.GetFunctionPointerForDelegate(close); this.write = Marshal.GetFunctionPointerForDelegate(write); this.completedReceive = Marshal.GetFunctionPointerForDelegate(completedReceive); }