package com.easysocket.interfaces.conn; import com.easysocket.entity.SocketAddress; import com.easysocket.interfaces.callback.ICallBack; import com.easysocket.interfaces.config.IOptions; import java.io.InputStream; import java.io.OutputStream; /** * Author:Alex * Date:2019/5/29 * Note:连接管理的接口规范 */ public interface IConnectionManager extends ISubscribeSocketAction, IOptions,ISend, ICallBack { /** * 开始连接 */ void connect(); /** * 关闭连接 * @param isNeedReconnect 是否需要重连 */ void disconnect(boolean isNeedReconnect); /** * 获取socket连接状态 * @return */ int getConnectionStatus(); /** * 是否可连接的 * @return */ boolean isConnectViable(); /** * 切换host * @param socketAddress */ void switchHost(SocketAddress socketAddress); /** * 获取输入流 * @return */ InputStream getInputStream(); /** * 获取输出流 * @return */ OutputStream getOutStream(); /** * 获取心跳管理器 * @return */ IHeartManager getHeartManager(); }