/* * Copyright (c) 2016. * chinaume@163.com */ package com.goav.netty.Handler; import com.goav.netty.Impl.ConnectCallBack; import com.goav.netty.Impl.ResponseListener; import com.goav.netty.message.MessageSuper; import com.google.gson.JsonElement; /** * @time: 16/10/9 09:55.<br/> * @author: Created by moo<br/> */ public abstract class ClientImpl implements ConnectCallBack { public abstract void Initialization(); /** * push message to server. * * @param message {@link MessageSuper} */ public abstract void request(Object message); /** * @return Connected state about Client 2 Server. */ public abstract boolean getConnectState(); /** * restart connected or false. * * @param restart will restart or false. */ protected abstract void restart(boolean restart); protected abstract void close(); /** * over & recycle */ public abstract void onDestroy(); /** * use before {@link #Initialization()},after {@link #addResponseListener(ResponseChannelHandler)} * * @param response * @return ClientImpl */ public abstract ClientImpl addResponseListener(ResponseListener<? super JsonElement> response); /** * use before {@link #Initialization()} * * @param response * @return ClientImpl */ public abstract ClientImpl addResponseListener(ResponseChannelHandler response); /** * {@inheritDoc} */ public abstract ClientImpl bind(String host, int port); /** * @return reference the instance of {@link ClientImpl} */ public static ClientImpl newInstances() { return Client.newInstances(); } }