}
protected abstract Log getLog();
+ // Flags to indicate optional feature support
public abstract boolean getUseSendfile();
+ public abstract boolean getUseComet();
+ public abstract boolean getUseCometTimeout();
protected LimitLatch initializeConnectionLatch() {
if (connectionLimitLatch==null) {
*/
protected boolean useComet = true;
public void setUseComet(boolean useComet) { this.useComet = useComet; }
+ @Override
public boolean getUseComet() { return useComet; }
+ @Override
+ public boolean getUseCometTimeout() { return false; } // Not supported
/**
public ServerSocketFactory getServerSocketFactory() { return serverSocketFactory; }
- /**
- * Is sendfile available
+ /*
+ * Optional feature support.
*/
@Override
- public boolean getUseSendfile() {
- // Not supported
- return false;
- }
-
-
- /**
- * Is deferAccept supported?
- */
+ public boolean getUseSendfile() { return false; } // Not supported
@Override
- public boolean getDeferAccept() {
- // Not supported
- return false;
- }
-
-
+ public boolean getUseComet() { return false; } // Not supported
+ @Override
+ public boolean getUseCometTimeout() { return false; } // Not supported
+ @Override
+ public boolean getDeferAccept() { return false; } // Not supported
// ------------------------------------------------ Handler Inner Interface
*/
protected boolean useComet = true;
public void setUseComet(boolean useComet) { this.useComet = useComet; }
+ @Override
public boolean getUseComet() { return useComet; }
+ @Override
+ public boolean getUseCometTimeout() { return getUseComet(); }
/**