/** * On session started */ @Override public void onSessionStarted(Session session) { session.setUseBlockingRead(true); session.setAttribute(HEART_BEAT_FAIL_COUNT_ATTR, new AtomicInteger(0)); for (MemcachedClientStateListener listener : this.client.getStateListeners()) { listener.onConnected(this.client, session.getRemoteSocketAddress()); } this.listener.onConnect((MemcachedTCPSession) session, this.client); }
/** * Check if have to reconnect on session closed */ @Override public final void onSessionClosed(Session session) { this.client.getConnector().removeSession(session); // Clear write queue to release noreply operations. ((AbstractSession) session).clearWriteQueue(); MemcachedTCPSession memcachedSession = (MemcachedTCPSession) session; // destroy memached session memcachedSession.destroy(); if (this.client.getConnector().isStarted() && memcachedSession.isAllowReconnect()) { this.reconnect(memcachedSession); } for (MemcachedClientStateListener listener : this.client.getStateListeners()) { listener.onDisconnected(this.client, session.getRemoteSocketAddress()); } }
/** * On session started */ @Override public void onSessionStarted(Session session) { session.setUseBlockingRead(true); session.setAttribute(HEART_BEAT_FAIL_COUNT_ATTR, new AtomicInteger(0)); for (MemcachedClientStateListener listener : this.client.getStateListeners()) { listener.onConnected(this.client, session.getRemoteSocketAddress()); } this.listener.onConnect((MemcachedTCPSession) session, this.client); }
/** * Check if have to reconnect on session closed */ @Override public final void onSessionClosed(Session session) { this.client.getConnector().removeSession(session); // Clear write queue to release noreply operations. ((AbstractSession) session).clearWriteQueue(); MemcachedTCPSession memcachedSession = (MemcachedTCPSession) session; // destroy memached session memcachedSession.destroy(); if (this.client.getConnector().isStarted() && memcachedSession.isAllowReconnect()) { this.reconnect(memcachedSession); } for (MemcachedClientStateListener listener : this.client.getStateListeners()) { listener.onDisconnected(this.client, session.getRemoteSocketAddress()); } }