/* This code is part of Freenet. It is distributed under the GNU General * Public License, version 2 (or at your option any later version). See * http://www.gnu.org/ for further details of the GPL. */ package freenet.clients.fcp; import freenet.node.Node; import freenet.support.SimpleFieldSet; public class ShutdownMessage extends FCPMessage{ public final static String NAME = "Shutdown"; // No point having an Identifier really...? public ShutdownMessage() throws MessageInvalidException { } @Override public SimpleFieldSet getFieldSet() { return null; } @Override public String getName() { return NAME; } @Override public void run(FCPConnectionHandler handler, Node node) throws MessageInvalidException { if(!handler.hasFullAccess()) { throw new MessageInvalidException(ProtocolErrorMessage.ACCESS_DENIED, "Shutdown requires full access", null, false); } FCPMessage msg = new ProtocolErrorMessage(ProtocolErrorMessage.SHUTTING_DOWN,true,"The node is shutting down","Node",false); handler.outputHandler.queue(msg); node.exit("Received FCP shutdown message"); } }