public override object __hx_setField(string field, int hash, object @value, bool handleProperties) { unchecked { #line 8 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\cs\\NonBlockingSocket.hx" switch (hash) { case 867683501: { #line 8 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\cs\\NonBlockingSocket.hx" this._socketAsyncEventArgs = ((global::System.Net.Sockets.SocketAsyncEventArgs)(@value)); #line 8 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\cs\\NonBlockingSocket.hx" return(@value); } case 1241114938: { #line 8 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\cs\\NonBlockingSocket.hx" this._acceptedSockets = ((global::haxe.root.Array)(@value)); #line 8 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\cs\\NonBlockingSocket.hx" return(@value); } default: { #line 8 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\cs\\NonBlockingSocket.hx" return(base.__hx_setField(field, hash, @value, handleProperties)); } } } #line default }
public override global::sys.net.Socket accept() { #line 19 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\cs\\NonBlockingSocket.hx" if ((this._acceptedSockets.length > 0)) { #line 20 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\cs\\NonBlockingSocket.hx" global::System.Net.Sockets.Socket n = ((global::System.Net.Sockets.Socket)(this._acceptedSockets.shift())); global::hx.ws.cs.NonBlockingSocket r = new global::hx.ws.cs.NonBlockingSocket(); #line 22 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\cs\\NonBlockingSocket.hx" r.sock = n; r.output = new global::cs.io.NativeOutput(((global::System.IO.Stream)(new global::System.Net.Sockets.NetworkStream(r.sock)))); #line 24 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\cs\\NonBlockingSocket.hx" r.input = new global::cs.io.NativeInput(((global::System.IO.Stream)(new global::System.Net.Sockets.NetworkStream(r.sock)))); return(r); } #line 28 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\cs\\NonBlockingSocket.hx" if ((this._socketAsyncEventArgs == null)) { #line 29 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\cs\\NonBlockingSocket.hx" this._socketAsyncEventArgs = new global::System.Net.Sockets.SocketAsyncEventArgs(); this._socketAsyncEventArgs.Completed += ((global::System.EventHandler <global::System.Net.Sockets.SocketAsyncEventArgs>)(this.onAcceptCompleted)); #line 31 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\cs\\NonBlockingSocket.hx" this.sock.AcceptAsync(((global::System.Net.Sockets.SocketAsyncEventArgs)(this._socketAsyncEventArgs))); } #line 33 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\cs\\NonBlockingSocket.hx" throw global::haxe.lang.HaxeException.wrap("Blocking"); }
public virtual void onAcceptCompleted(object sender, global::System.Net.Sockets.SocketAsyncEventArgs e) { #line 37 "D:\\project\\sangong\\sangong\\src\\hx\\ws\\cs\\NonBlockingSocket.hx" this._acceptedSockets.push(e.AcceptSocket); this._socketAsyncEventArgs = null; }