src/java/org/apache/cassandra/gms/Gossiper.java
/**
     * Handles switching the endpoint's state from REMOVING_TOKEN to REMOVED_TOKEN
     * This should only be called after advertiseRemoving
     * @param endpoint
     * @param token
     */
Handles switching the endpoint's state from REMOVING_TOKEN to REMOVED_TOKEN
This should only be called after advertiseRemoving
@param endpoint
@param token
Handles switching the endpoint ' s state from REMOVING_TOKEN to REMOVED_TOKEN This should only be called after advertiseRemoving @param endpoint @param token
public void advertiseTokenRemoved(InetAddress endpoint, Token token)
    {
        EndpointState epState = endpointStateMap.get(endpoint);
        epState.updateTimestamp(); 
        epState.getHeartBeatState().forceNewerGenerationUnsafe();
        epState.addApplicationState(ApplicationState.STATUS, StorageService.instance.valueFactory.removedNonlocal(token,computeExpireTime()));
        logger.info("Completing removal of " + endpoint);
        endpointStateMap.put(endpoint, epState);
        try
        {
            Thread.sleep(intervalInMillis * 2);
        }
        catch (InterruptedException e)
        {
            throw new AssertionError(e);
        }
    }
public void advertiseTokenRemoved ( InetAddress endpoint , Token token ) { EndpointState epState = endpointStateMap . get ( endpoint ) ; epState . updateTimestamp ( ) ; epState . getHeartBeatState ( ) . forceNewerGenerationUnsafe ( ) ; epState . addApplicationState ( ApplicationState . STATUS , StorageService . instance . valueFactory . removedNonlocal ( token , computeExpireTime ( ) ) ) ; logger . info ( "Completing removal of " + endpoint ) ; endpointStateMap . put ( endpoint , epState ) ; try { Thread . sleep ( intervalInMillis * 2 ) ; } catch ( InterruptedException e ) { throw new AssertionError ( e ) ; } }
Handles switching the endpoint's state from REMOVING_TOKEN to REMOVED_TOKEN
 This should only be called after advertiseRemoving
 @param endpoint
 @param token
Handles switching the endpoint ' s state from REMOVING_TOKEN to REMOVED_TOKEN This should only be called after advertiseRemoving @param endpoint @param token
// make sure we don't evict it too soon // ensure at least one gossip round occurs before returning