public void DataCallback(SelectServerSharedBuffer server, Socket socket) { int bytesReceived; try { bytesReceived = socket.Receive(server.sharedBuffer); } catch (SocketException) { bytesReceived = -1; } if (bytesReceived <= 0) { socket.ShutdownSafe(); server.DisposeAndRemoveReceiveSocket(socket); } lineParser.Add(server.sharedBuffer, 0, (uint)bytesReceived); while (true) { String line = lineParser.GetLine(); if (line == null) { break; } if (line[0] == 'd' || line[0] == 'D') { if (NfsServerLog.performanceLog == null) { writer.Write("Cannot dump performance log because it was not enabled"); } else { NfsServerLog.performanceLog.DumpLog(writer); } } else if (line[0] == 'h' || line[0] == 'H') { writer.WriteLine("Commands: dump, help"); } else if (line[0] == 'e' || line[0] == 'E') { socket.ShutdownSafe(); server.DisposeAndRemoveReceiveSocket(socket); } else { writer.WriteLine("UnknownCommand '{0}'", line); writer.WriteLine("Commands: dump, help, exit"); } SendPrompt(); } }
public void HandleData(SelectServerSharedBuffer server, Socket sock) { int bytesReceived; try { bytesReceived = sock.Receive(server.sharedBuffer); } catch (SocketException) { bytesReceived = -1; } if (bytesReceived <= 0) { sock.ShutdownSafe(); server.DisposeAndRemoveReceiveSocket(sock); return; } recordBuilder.HandleData(socket, server.sharedBuffer, 0, (uint)bytesReceived); }