private void addToRequestPool(NetRequestListener request) { if (request.getKey() != -1) { synchronized (mRequestPool) { mRequestPool.put(request.getKey(), request); } } LocalSendThread.getInstance().send(request.getKey(), request.getSendNetMessage()); }
/*异步回调*/ public void callDataCallbackNotSyn(long key, Object object) { synchronized (this.mRequestPool) { NetRequestListener listener = this.mRequestPool.get(key); if (listener != null) { listener.onSuccessRecive(object); } } }
@Override public void onMessageState(MessageState state) { NetRequestListener request = getRequestFromPool(state.mKey); if (request != null) { switch (state.mState) { case SEND_STATE.SEND_OVER: if (request.isSyn() && state.mIsSyn) { onSuccess(state.mKey); // 同步发送成功 } break; case SEND_STATE.SEND_ERROR: onError(state.mKey, state.mErrorCode, state.mAttachMsg); // 发送失败 break; } } }
/*添加一个网络请求*/ public void sendNetRequest(NetRequestListener request) { request.setKey(System.currentTimeMillis()); this.addToRequestPool(request); this.addToCheckTimeOutQueue(request); // 添加的超时检测队列 }