当前位置: 首页>>代码示例>>Java>>正文


Java IClosableIterator.next方法代码示例

本文整理汇总了Java中org.sdnplatform.sync.IClosableIterator.next方法的典型用法代码示例。如果您正苦于以下问题:Java IClosableIterator.next方法的具体用法?Java IClosableIterator.next怎么用?Java IClosableIterator.next使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.sdnplatform.sync.IClosableIterator的用法示例。


在下文中一共展示了IClosableIterator.next方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: execute

import org.sdnplatform.sync.IClosableIterator; //导入方法依赖的package包/类
@Override
public boolean execute(String[] tokens, String line) throws Exception {
    if (!checkStoreSettings()) return false;

    IClosableIterator<Entry<JsonNode, Versioned<JsonNode>>> iter = 
            storeClient.entries();
    try {
        while (iter.hasNext()) {
            Entry<JsonNode, Versioned<JsonNode>> e = iter.next();
            display(e.getKey(), e.getValue());
        }
    } finally {
        iter.close();
    }
    return false;
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:17,代码来源:SyncClient.java

示例2: keys

import org.sdnplatform.sync.IClosableIterator; //导入方法依赖的package包/类
public static <K, V> IClosableIterator<K>
    keys(final IClosableIterator<Entry<K, V>> values) {
    return new IClosableIterator<K>() {

        public void close() {
            values.close();
        }

        public boolean hasNext() {
            return values.hasNext();
        }

        public K next() {
            Entry<K, V> value = values.next();
            if(value == null)
                return null;
            return value.getKey();
        }

        public void remove() {
            values.remove();
        }

    };
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:26,代码来源:StoreUtils.java

示例3: getEntriesFromStore

import org.sdnplatform.sync.IClosableIterator; //导入方法依赖的package包/类
private List<DeviceSyncRepresentation> getEntriesFromStore()
		throws Exception {
	List<DeviceSyncRepresentation> entries =
			new ArrayList<DeviceSyncRepresentation>();
	IClosableIterator<Entry<String, Versioned<DeviceSyncRepresentation>>> iter =
			storeClient.entries();
	try {
		while(iter.hasNext()) {
			Entry<String, Versioned<DeviceSyncRepresentation>> entry =
					iter.next();
			DeviceSyncRepresentation dsr = entry.getValue().getValue();
			if (dsr != null)
				assertEquals(entry.getKey(), dsr.getKey());
			entries.add(dsr);
		}
	} finally {
		if (iter != null)
			iter.close();
	}
	return entries;
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:22,代码来源:DeviceManagerImplTest.java

示例4: execute

import org.sdnplatform.sync.IClosableIterator; //导入方法依赖的package包/类
@Override
public boolean execute(String[] tokens, String line) throws Exception {
    if (!checkStoreSettings()) return false;

    IClosableIterator<Entry<JsonNode, Versioned<JsonNode>>> iter =
            storeClient.entries();
    try {
        while (iter.hasNext()) {
            Entry<JsonNode, Versioned<JsonNode>> e = iter.next();
            display(e.getKey(), e.getValue());
        }
    } finally {
        iter.close();
    }
    return false;
}
 
开发者ID:zhenshengcai,项目名称:floodlight-hardware,代码行数:17,代码来源:SyncClient.java

示例5: getEntriesFromStore

import org.sdnplatform.sync.IClosableIterator; //导入方法依赖的package包/类
private List<DeviceSyncRepresentation> getEntriesFromStore()
        throws Exception {
    List<DeviceSyncRepresentation> entries =
            new ArrayList<DeviceSyncRepresentation>();
    IClosableIterator<Entry<String, Versioned<DeviceSyncRepresentation>>> iter =
            storeClient.entries();
    try {
        while(iter.hasNext()) {
            Entry<String, Versioned<DeviceSyncRepresentation>> entry =
                    iter.next();
            DeviceSyncRepresentation dsr = entry.getValue().getValue();
            if (dsr != null)
                assertEquals(entry.getKey(), dsr.getKey());
            entries.add(dsr);
        }
    } finally {
        if (iter != null)
            iter.close();
    }
    return entries;
}
 
开发者ID:JianqingJiang,项目名称:QoS-floodlight,代码行数:22,代码来源:DeviceManagerImplTest.java

示例6: testIterator

import org.sdnplatform.sync.IClosableIterator; //导入方法依赖的package包/类
@Test
public void testIterator() throws Exception {
    AbstractSyncManager sync = syncManagers[0];
    IStoreClient<Key, TBean> testClient =
            sync.getStoreClient("local", Key.class, TBean.class);
    
    HashMap<Key, TBean> testMap = new HashMap<Key, TBean>();
    for (int i = 0; i < 100; i++) {
        Key k = new Key("com.bigswitch.bigsync.internal", "test" + i);
        TBean tb = new TBean("value", i);
        testMap.put(k, tb);
        testClient.put(k, tb);
    }
    
    IClosableIterator<Entry<Key, Versioned<TBean>>> iter = 
            testClient.entries();
    int size = 0;
    try {
        while (iter.hasNext()) {
            Entry<Key, Versioned<TBean>> e = iter.next();
            assertEquals(testMap.get(e.getKey()), e.getValue().getValue());
            size += 1;
        }
    } finally {
        iter.close();
    }
    assertEquals(testMap.size(), size);
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:29,代码来源:SyncManagerTest.java

示例7: antientropy

import org.sdnplatform.sync.IClosableIterator; //导入方法依赖的package包/类
/**
 * Perform a synchronization with the node specified
 */
public void antientropy(Node node) {
	if (!rpcService.isConnected(node.getNodeId())) return;

	logger.info("[{}->{}] Synchronizing local state to remote node",
			getLocalNodeId(), node.getNodeId());

	for (SynchronizingStorageEngine store : storeRegistry.values()) {
		if (Scope.LOCAL.equals(store.getScope())) {
			if (node.getDomainId() !=
					getClusterConfig().getNode().getDomainId())
				continue;
		} else if (Scope.UNSYNCHRONIZED.equals(store.getScope())) {
			continue;
		}

		IClosableIterator<Entry<ByteArray,
		List<Versioned<byte[]>>>> entries =
		store.entries();
		try {
			SyncMessage bsm =
					TProtocolUtil.getTSyncOfferMessage(store.getName(),
							store.getScope(),
							store.isPersistent());
			int count = 0;
			while (entries.hasNext()) {
				if (!rpcService.isConnected(node.getNodeId())) return;

				Entry<ByteArray, List<Versioned<byte[]>>> pair =
						entries.next();
				KeyedVersions kv =
						TProtocolUtil.getTKeyedVersions(pair.getKey(),
								pair.getValue());
				bsm.getSyncOffer().addToVersions(kv);
				count += 1;
				if (count >= 50) {
					sendSyncOffer(node.getNodeId(), bsm);
					// realloc sync message - it is still queued up by netty!
					bsm = TProtocolUtil.getTSyncOfferMessage(store.getName(),
							store.getScope(),
							store.isPersistent());
					count = 0;
				}
			}
			sendSyncOffer(node.getNodeId(), bsm);
		} catch (InterruptedException e) {
			// This can't really happen
			throw new RuntimeException(e);
		} finally {
			entries.close();
		}
	}
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:56,代码来源:SyncManager.java

示例8: antientropy

import org.sdnplatform.sync.IClosableIterator; //导入方法依赖的package包/类
/**
 * Perform a synchronization with the node specified
 */
@LogMessageDoc(level="INFO",
               message="[{id}->{id}] Synchronizing local state to remote node",
               explanation="Normal state resynchronization is occurring")
public void antientropy(Node node) {
    if (!rpcService.isConnected(node.getNodeId())) return;

    logger.info("[{}->{}] Synchronizing local state to remote node",
                getLocalNodeId(), node.getNodeId());

    for (SynchronizingStorageEngine store : storeRegistry.values()) {
        if (Scope.LOCAL.equals(store.getScope())) {
            if (node.getDomainId() !=
                    getClusterConfig().getNode().getDomainId())
                continue;
        } else if (Scope.UNSYNCHRONIZED.equals(store.getScope())) {
            continue;
        }

        IClosableIterator<Entry<ByteArray,
                              List<Versioned<byte[]>>>> entries =
                store.entries();
        try {
            SyncMessage bsm =
                    TProtocolUtil.getTSyncOfferMessage(store.getName(),
                                                       store.getScope(),
                                                       store.isPersistent());
            int count = 0;
            while (entries.hasNext()) {
                if (!rpcService.isConnected(node.getNodeId())) return;

                Entry<ByteArray, List<Versioned<byte[]>>> pair =
                        entries.next();
                KeyedVersions kv =
                        TProtocolUtil.getTKeyedVersions(pair.getKey(),
                                                        pair.getValue());
                bsm.getSyncOffer().addToVersions(kv);
                count += 1;
                if (count >= 50) {
                    sendSyncOffer(node.getNodeId(), bsm);
                    bsm.getSyncOffer().unsetVersions();
                    count = 0;
                }
            }
            sendSyncOffer(node.getNodeId(), bsm);
        } catch (InterruptedException e) {
            // This can't really happen
            throw new RuntimeException(e);
        } finally {
            entries.close();
        }
    }
}
 
开发者ID:nsg-ethz,项目名称:iTAP-controller,代码行数:56,代码来源:SyncManager.java


注:本文中的org.sdnplatform.sync.IClosableIterator.next方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。