private CompletableFuture < Boolean > handleProbeRequest ( ImmutableMember member ) { CompletableFuture < Boolean > future = new CompletableFuture <> ( ) ; swimScheduler . execute ( ( ) -> { LOGGER . trace ( "{} - Probing {}" , localMember . id ( ) , member ) ; bootstrapService . getMessagingService ( ) . sendAndReceive ( member . address ( ) , MEMBERSHIP_PROBE , SERIALIZER . encode ( Pair . of ( localMember . copy ( ) , member ) ) , false , config . getProbeTimeout ( ) ) . whenCompleteAsync ( ( response , error ) -> { if ( error != null ) { LOGGER . debug ( "{} - Failed to probe {}" , localMember . id ( ) , member ) ; future . complete ( false ) ; } else { future . complete ( true ) ; } } , swimScheduler ) ; } ) ; return future ; }
Handles a probe request .