package fm.liu.timo.manager.response; import java.util.ArrayList; import fm.liu.timo.TimoServer; import fm.liu.timo.manager.handler.ShowHandler; import fm.liu.timo.manager.response.ResponseUtil.Head; import fm.liu.timo.net.NIOProcessor; /** * @author liuhuanting */ public class ShowProcessor extends ShowHandler { private static final ArrayList<Head> heads = new ArrayList<>(); static { heads.add(new Head("name")); heads.add(new Head("frontends", "the number of connections from frontends")); heads.add(new Head("backends", "the number of connections from backends")); heads.add(new Head("write_queue", "the size of write queue need to be sent")); } @Override public String getInfo() { return "show the status of processors"; } @Override public ArrayList<Head> getHeads() { return heads; } @Override public ArrayList<Object[]> getRows() { ArrayList<Object[]> rows = new ArrayList<Object[]>(); for (NIOProcessor p : TimoServer.getInstance().getProcessors()) { Object[] row = new Object[heads.size()]; int i = 0; row[i++] = p.getName(); row[i++] = p.getFrontends().size(); row[i++] = p.getBackends().size(); row[i++] = p.getWriteQueueSize(); rows.add(row); } return rows; } }