src/main/java/toy/das/bbc/BbcService.java
/**
     * An inner method that supports speculative BBC (used by WrbSerivce)
     * @param b
     */
An inner method that supports speculative BBC (used by WrbSerivce)
@param b
An inner method that supports speculative BBC ( used by WrbSerivce ) @param b
public void periodicallyVoteMissingConsensus(Types.BbcDecision b) {
        Types.Meta key = Types.Meta.newBuilder()
                .setChannel(b.getM().getChannel())
                .setCidSeries(b.getM().getCidSeries())
                .setCid(b.getM().getCid())
                .build();
        if (rec.containsKey(key)) {
            fastVote.computeIfAbsent(key, k -> {
                fastVotePart fv = new fastVotePart();
                fv.d = b;
                fv.done = false;
                return fv;
            });
            fastVote.computeIfPresent(key, (k, v) -> {
                if (!v.done) {
                    logger.debug(format("[#%d] re-participating in a das (periodicallyVoteMissingConsensus) " +
                                    "[channel=%d ; cidSeries=%d ; cid=%d]", id, key.getChannel(), key.getCidSeries()
                            , key.getCid()));
                    propose(b.getDecosion(), key.getChannel(), key.getCidSeries(), key.getCid());
                    v.done = true;
                }
                return v;
            });
        }
    }
public void periodicallyVoteMissingConsensus ( Types . BbcDecision b ) { Types . Meta key = Types . Meta . newBuilder ( ) . setChannel ( b . getM ( ) . getChannel ( ) ) . setCidSeries ( b . getM ( ) . getCidSeries ( ) ) . setCid ( b . getM ( ) . getCid ( ) ) . build ( ) ; if ( rec . containsKey ( key ) ) { fastVote . computeIfAbsent ( key , k -> { fastVotePart fv = new fastVotePart ( ) ; fv . d = b ; fv . done = false ; return fv ; } ) ; fastVote . computeIfPresent ( key , ( k , v ) -> { if ( ! v . done ) { logger . debug ( format ( "[#%d] re-participating in a das (periodicallyVoteMissingConsensus) " + "[channel=%d ; cidSeries=%d ; cid=%d]" , id , key . getChannel ( ) , key . getCidSeries ( ) , key . getCid ( ) ) ) ; propose ( b . getDecosion ( ) , key . getChannel ( ) , key . getCidSeries ( ) , key . getCid ( ) ) ; v . done = true ; } return v ; } ) ; } }
An inner method that supports speculative BBC (used by WrbSerivce)
 @param b
An inner method that supports speculative BBC ( used by WrbSerivce ) @param b