@@ -0,0 +1,2532 @@
+// future that represents completion of transition to leader.%0A/* This file is part of VoltDB.%0A * Copyright (C) 2008-2012 VoltDB Inc.%0A *%0A * VoltDB is free software: you can redistribute it and/or modify%0A * it under the terms of the GNU General Public License as published by%0A * the Free Software Foundation, either version 3 of the License, or%0A * (at your option) any later version.%0A *%0A * VoltDB is distributed in the hope that it will be useful,%0A * but WITHOUT ANY WARRANTY; without even the implied warranty of%0A * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the%0A * GNU General Public License for more details.%0A *%0A * You should have received a copy of the GNU General Public License%0A * along with VoltDB.  If not, see %3Chttp://www.gnu.org/licenses/%3E.%0A */%0A%0Apackage org.voltdb.iv2;%0A%0Aimport java.util.concurrent.atomic.AtomicBoolean;%0A%0Aimport java.util.concurrent.CountDownLatch;%0Aimport java.util.concurrent.ExecutionException;%0Aimport java.util.concurrent.Future;%0Aimport java.util.concurrent.TimeoutException;%0Aimport java.util.concurrent.TimeUnit;%0A%0Aclass InaugurationFuture implements Future%3CBoolean%3E%0A%7B%0A    private CountDownLatch m_doneLatch = new CountDownLatch(1);%0A    private AtomicBoolean m_cancelled = new AtomicBoolean(false);%0A    private ExecutionException m_exception = null;%0A%0A    void setException(Exception e)%0A    %7B%0A        m_exception = new ExecutionException(e);%0A    %7D%0A%0A    private Boolean result() throws ExecutionException%0A    %7B%0A        if (m_exception != null) %7B%0A            throw m_exception;%0A        %7D%0A        else if (isCancelled()) %7B%0A            return false;%0A        %7D%0A        return true;%0A%0A    %7D%0A%0A    public void done()%0A    %7B%0A        m_doneLatch.countDown();%0A    %7D%0A%0A    @Override%0A    public boolean cancel(boolean mayInterruptIfRunning)%0A    %7B%0A        if (isDone()) %7B%0A            return false;%0A        %7D%0A        else %7B%0A            m_cancelled.set(true);%0A            m_doneLatch.countDown();%0A            return true;%0A        %7D%0A    %7D%0A%0A    @Override%0A    public boolean isCancelled()%0A    %7B%0A        return m_cancelled.get();%0A    %7D%0A%0A    @Override%0A    public boolean isDone()%0A    %7B%0A        return m_doneLatch.getCount() == 0;%0A    %7D%0A%0A    @Override%0A    public Boolean get() throws InterruptedException, ExecutionException%0A    %7B%0A        m_doneLatch.await();%0A        return result();%0A    %7D%0A%0A    @Override%0A    public Boolean get(long timeout, TimeUnit unit)%0A        throws InterruptedException, ExecutionException, TimeoutException%0A    %7B%0A        m_doneLatch.await(timeout, unit);%0A        return result();%0A    %7D%0A%7D%0A%0A%0A

Add new/missing file.