private void HandleAccept(INetSocket clientSocket) { // FIXME: !!!Move into higher API calls outside of NetSocket // do we "new-up" channels or maintain existing channels? // how many "new" instances of objects will we be creating and is that GC efficient? // var buffer = new Buffer(args.Buffer, args.Offset, args.BytesTransferred); // var channel = new NetChannel(this, buffer); // ??? do we provide the channel or the buffer to the caller? var channel = new NetChannel(clientSocket); channel.Fault((c, exception) => { OnFault(exception); }); StartAccept(); OnConnect(channel); }