package com.google.code.hs4j.network.hs; import java.io.IOException; import java.net.InetSocketAddress; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import com.google.code.hs4j.Command; import com.google.code.hs4j.Protocol; import com.google.code.hs4j.exception.HandlerSocketException; import com.google.code.hs4j.impl.ReconnectRequest; import com.google.code.hs4j.network.core.Session; /** * Networking connector * * @author dennis * @date 2010-11-29 */ public interface HandlerSocketConnector { public boolean isStarted(); public void setHealSessionInterval(long healConnectionInterval); public long getHealSessionInterval(); public Protocol getProtocol(); public void addSession(Session session); public void removeSession(Session session); public void addToWatingQueue(ReconnectRequest request); public Future<Boolean> connect(InetSocketAddress remoteAddr) throws IOException; public CopyOnWriteArrayList<Session> getSessionList(); public void send(final Command msg) throws HandlerSocketException; public boolean isAllowAutoReconnect(); public void setAllowAutoReconnect(boolean allowAutoReconnect); }