void execute(final Socket sock) throws IOException, ServiceNotEnabledException, ServiceNotAuthorizedException { rawIn = new BufferedInputStream(sock.getInputStream()); rawOut = new SafeBufferedOutputStream(sock.getOutputStream()); if (0 < daemon.getTimeout()) { sock.setSoTimeout(daemon.getTimeout() * 1000); } String cmd = new PacketLineIn(rawIn).readStringRaw(); final int nul = cmd.indexOf('\0'); if (nul >= 0) { // Newer clients hide a "host" header behind this byte. // Currently we don't use it for anything, so we ignore // this portion of the command. // cmd = cmd.substring(0, nul); } final DaemonService srv = getDaemon().matchService(cmd); if (srv == null) { return; } sock.setSoTimeout(0); srv.execute(this, cmd); }
/* * Shuts down the pending replication monitor thread. Waits for the thread * to exit. */ void stop() { fsRunning = false; timerThread.interrupt(); try { timerThread.join(3000); } catch (InterruptedException ie) { } }
public static void main(String[] args) throws Exception { // final boolean verbose = (args.length == 1 && "-verbose".equals(args[0])); Properties props = new Properties(); FileReader in = null; try { in = new FileReader("scalerd.properties"); props.load(in); } finally { Closeables.closeQuietly(in); } ConnectionFactory cf = new ConnectionFactory(); cf.setUri(props.getProperty("amqp.uri")); Daemon daemon = new Daemon(cf, props.getProperty("amqp.exchange"), props.getProperty("amqp.queue")); daemon.run(); System.exit(0); }
void init() { pendingReplications = new HashMap<Block, PendingBlockInfo>(); timedOutItems = new ArrayList<Block>(); this.timerThread = new Daemon(new PendingReplicationMonitor()); timerThread.start(); }
protected void runDaemon() { task.run(); }
protected long interval() { return task.getInterval(); }
protected boolean onStartup() { return task.runOnStartup(); }