Package org.sdnplatform.sync.internal.store

Examples of org.sdnplatform.sync.internal.store.SynchronizingStorageEngine


     */
    public void writeSyncValue(String storeName, Scope scope,
                               boolean persist,
                               byte[] key, Iterable<Versioned<byte[]>> values)
                                       throws PersistException {
        SynchronizingStorageEngine store = storeRegistry.get(storeName);
        if (store == null) {
            store = storeRegistry.register(storeName, scope, persist);
        }
        store.writeSyncValue(new ByteArray(key), values);
    }
View Full Code Here


     */
    public boolean handleSyncOffer(String storeName,
                                   byte[] key,
                                   Iterable<VectorClock> versions)
                                           throws SyncException {
        SynchronizingStorageEngine store = storeRegistry.get(storeName);
        if (store == null) return true;

        List<Versioned<byte[]>> values = store.get(new ByteArray(key));
        if (values == null || values.size() == 0) return true;

        // check whether any of the versions are not older than what we have
        for (VectorClock vc : versions) {
            for (Versioned<byte[]> value : values) {
View Full Code Here

    }

    @Override
    public void addListener(String storeName, MappingStoreListener listener)
            throws UnknownStoreException {
        SynchronizingStorageEngine store = getStoreInternal(storeName);
        store.addListener(listener);
    }
View Full Code Here

        }
    }

    protected SynchronizingStorageEngine getStoreInternal(String storeName)
            throws UnknownStoreException {
        SynchronizingStorageEngine store = storeRegistry.get(storeName);
        if (store == null) {
            throw new UnknownStoreException("Store " + storeName +
                                            " has not been registered");
        }
        return store;
View Full Code Here

                    // Batch up sync tasks so we use fewer, larger messages
                    // XXX - todo - handle hints targeted to specific nodes
                    storeRegistry.takeHints(tasks, 50);
                    for (Hint task : tasks) {
                        counterHints.updateCounterWithFlush();
                        SynchronizingStorageEngine store =
                                storeRegistry.get(task.getHintKey().
                                                  getStoreName());
                        SyncMessage bsm = getMessage(store);
                        KeyedValues kv =
                                TProtocolUtil.
View Full Code Here

     */
    public synchronized SynchronizingStorageEngine register(String storeName,
                                                            Scope scope,
                                                            boolean persistent)
                                              throws PersistException {
        SynchronizingStorageEngine store =
                localStores.get(storeName);
        if (store != null) {
            return store;
        }
               
        IStorageEngine<ByteArray, byte[]> dstore;
        if (persistent) {
            if (persistentDataSource == null)
                persistentDataSource = JavaDBStorageEngine.getDataSource(dbPath, false);
            dstore = new JavaDBStorageEngine(storeName, persistentDataSource);
        } else {
            dstore = new InMemoryStorageEngine<ByteArray, byte[]>(storeName);
        }
        store = new SynchronizingStorageEngine(dstore, syncManager,
                                               syncManager.debugCounter,
                                               scope);
        localStores.put(storeName, store);
        return store;
    }
View Full Code Here

TOP

Related Classes of org.sdnplatform.sync.internal.store.SynchronizingStorageEngine

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.