Ejemplo n.º 1
0
            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();
                }
            }
Ejemplo n.º 2
0
        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);
        }