• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java GroupId类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.onosproject.core.GroupId的典型用法代码示例。如果您正苦于以下问题:Java GroupId类的具体用法?Java GroupId怎么用?Java GroupId使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



GroupId类属于org.onosproject.core包,在下文中一共展示了GroupId类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: load

import org.onosproject.core.GroupId; //导入依赖的package包/类
@Override
public Load load(Link link, ApplicationId appId, Optional<GroupId> groupId) {
    checkPermission(STATISTIC_READ);

    Statistics stats = getStatistics(link.src());
    if (!stats.isValid()) {
        return new DefaultLoad();
    }

    ImmutableSet<FlowEntry> current = FluentIterable.from(stats.current())
            .filter(hasApplicationId(appId))
            .filter(hasGroupId(groupId))
            .toSet();
    ImmutableSet<FlowEntry> previous = FluentIterable.from(stats.previous())
            .filter(hasApplicationId(appId))
            .filter(hasGroupId(groupId))
            .toSet();

    return new DefaultLoad(aggregate(current), aggregate(previous));
}
 
开发者ID:shlee89,项目名称:athena,代码行数:21,代码来源:StatisticManager.java


示例2: createSouthboundGroupEntry

import org.onosproject.core.GroupId; //导入依赖的package包/类
private Group createSouthboundGroupEntry(GroupId gId,
                                         List<PortNumber> ports,
                                         long referenceCount, DeviceId deviceId) {
    List<PortNumber> outPorts = new ArrayList<>();
    outPorts.addAll(ports);

    List<GroupBucket> buckets = new ArrayList<>();
    for (PortNumber portNumber : outPorts) {
        TrafficTreatment.Builder tBuilder = DefaultTrafficTreatment.builder();
        tBuilder.setOutput(portNumber)
                .setEthDst(MacAddress.valueOf("00:00:00:00:00:02"))
                .setEthSrc(MacAddress.valueOf("00:00:00:00:00:01"))
                .pushMpls()
                .setMpls(MplsLabel.mplsLabel(106));
        buckets.add(DefaultGroupBucket.createSelectGroupBucket(
                tBuilder.build()));
    }
    GroupBuckets groupBuckets = new GroupBuckets(buckets);
    StoredGroupEntry group = new DefaultGroup(
            gId, deviceId, Group.Type.SELECT, groupBuckets);
    group.setReferenceCount(referenceCount);
    return group;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:24,代码来源:GroupManagerTest.java


示例3: removeGroupEntry

import org.onosproject.core.GroupId; //导入依赖的package包/类
/**
 * Removes the group entry from store.
 *
 * @param group group entry
 */
@Override
public void removeGroupEntry(Group group) {
    StoredGroupEntry existing = (groupEntriesById.get(
                     group.deviceId()) != null) ?
                     groupEntriesById.get(group.deviceId()).get(group.id()) :
                     null;

    if (existing != null) {
        ConcurrentMap<GroupKey, StoredGroupEntry> keyTable =
                getGroupKeyTable(existing.deviceId());
        ConcurrentMap<GroupId, StoredGroupEntry> idTable =
                getGroupIdTable(existing.deviceId());
        idTable.remove(existing.id());
        keyTable.remove(existing.appCookie());
        notifyDelegate(new GroupEvent(Type.GROUP_REMOVED, existing));
    }
}
 
开发者ID:shlee89,项目名称:athena,代码行数:23,代码来源:SimpleGroupStore.java


示例4: getProviderGroup

import org.onosproject.core.GroupId; //导入依赖的package包/类
private GroupId getProviderGroup(ServiceNetwork provider, DeviceId deviceId) {
    GroupKey groupKey = getGroupKey(provider.id());
    Group group = groupService.getGroup(deviceId, groupKey);
    GroupId groupId = getGroupId(provider.id(), deviceId);

    if (group != null) {
        return groupId;
    }

    GroupBuckets buckets = getProviderGroupBuckets(
            deviceId, provider.segmentId().id(), getInstances(provider.id()));
    GroupDescription groupDescription = new DefaultGroupDescription(
            deviceId,
            GroupDescription.Type.SELECT,
            buckets,
            groupKey,
            groupId.id(),
            appId);

    groupService.addGroup(groupDescription);
    return groupId;
}
 
开发者ID:opencord,项目名称:vtn,代码行数:23,代码来源:DependencyHandler.java


示例5: DefaultFlowRule

import org.onosproject.core.GroupId; //导入依赖的package包/类
public DefaultFlowRule(DeviceId deviceId, TrafficSelector selector,
                       TrafficTreatment treatment, int priority, ApplicationId appId,
                       GroupId groupId, int timeout, boolean permanent) {

    if (priority < FlowRule.MIN_PRIORITY) {
        throw new IllegalArgumentException("Priority cannot be less than " + MIN_PRIORITY);
    }

    this.deviceId = deviceId;
    this.priority = priority;
    this.selector = selector;
    this.treatment = treatment;
    this.appId = appId.id();
    this.groupId = groupId;
    this.timeout = timeout;
    this.permanent = permanent;
    this.created = System.currentTimeMillis();
    this.type = Type.DEFAULT;

    /*
     * id consists of the following.
     * | appId (16 bits) | groupId (16 bits) | flowId (32 bits) |
     */
    this.id = FlowId.valueOf((((long) this.appId) << 48) | (((long) this.groupId.id()) << 32)
            | (this.hash() & 0xffffffffL));
}
 
开发者ID:ravikumaran2015,项目名称:ravikumaran201504,代码行数:27,代码来源:DefaultFlowRule.java


示例6: load

import org.onosproject.core.GroupId; //导入依赖的package包/类
@Override
public Load load(Link link, ApplicationId appId, Optional<GroupId> groupId) {
    Statistics stats = getStatistics(link.src());
    if (!stats.isValid()) {
        return new DefaultLoad();
    }

    ImmutableSet<FlowEntry> current = FluentIterable.from(stats.current())
            .filter(hasApplicationId(appId))
            .filter(hasGroupId(groupId))
            .toSet();
    ImmutableSet<FlowEntry> previous = FluentIterable.from(stats.previous())
            .filter(hasApplicationId(appId))
            .filter(hasGroupId(groupId))
            .toSet();

    return new DefaultLoad(aggregate(current), aggregate(previous));
}
 
开发者ID:ravikumaran2015,项目名称:ravikumaran201504,代码行数:19,代码来源:StatisticManager.java


示例7: createSouthboundGroupEntry

import org.onosproject.core.GroupId; //导入依赖的package包/类
private Group createSouthboundGroupEntry(GroupId gId,
                                         List<PortNumber> ports,
                                         long referenceCount) {
    List<PortNumber> outPorts = new ArrayList<PortNumber>();
    outPorts.addAll(ports);

    List<GroupBucket> buckets = new ArrayList<GroupBucket>();
    for (PortNumber portNumber: outPorts) {
        TrafficTreatment.Builder tBuilder = DefaultTrafficTreatment.builder();
        tBuilder.setOutput(portNumber)
                .setEthDst(MacAddress.valueOf("00:00:00:00:00:02"))
                .setEthSrc(MacAddress.valueOf("00:00:00:00:00:01"))
                .pushMpls()
                .setMpls(MplsLabel.mplsLabel(106));
        buckets.add(DefaultGroupBucket.createSelectGroupBucket(
                                                    tBuilder.build()));
    }
    GroupBuckets groupBuckets = new GroupBuckets(buckets);
    StoredGroupEntry group = new DefaultGroup(
                        gId, DID, Group.Type.SELECT, groupBuckets);
    group.setReferenceCount(referenceCount);
    return group;
}
 
开发者ID:ravikumaran2015,项目名称:ravikumaran201504,代码行数:24,代码来源:GroupManagerTest.java


示例8: storeGroupDescriptionInternal

import org.onosproject.core.GroupId; //导入依赖的package包/类
private void storeGroupDescriptionInternal(GroupDescription groupDesc) {
    // Check if a group is existing with the same key
    if (getGroup(groupDesc.deviceId(), groupDesc.appCookie()) != null) {
        return;
    }

    // Get a new group identifier
    GroupId id = new DefaultGroupId(getFreeGroupIdValue(groupDesc.deviceId()));
    // Create a group entry object
    StoredGroupEntry group = new DefaultGroup(id, groupDesc);
    // Insert the newly created group entry into concurrent key and id maps
    ConcurrentMap<GroupKey, StoredGroupEntry> keyTable =
            getGroupKeyTable(groupDesc.deviceId());
    keyTable.put(groupDesc.appCookie(), group);
    ConcurrentMap<GroupId, StoredGroupEntry> idTable =
            getGroupIdTable(groupDesc.deviceId());
    idTable.put(id, group);
    notifyDelegate(new GroupEvent(GroupEvent.Type.GROUP_ADD_REQUESTED,
                                  group));
}
 
开发者ID:ravikumaran2015,项目名称:ravikumaran201504,代码行数:21,代码来源:SimpleGroupStore.java


示例9: addOrUpdateExtraneousGroupEntry

import org.onosproject.core.GroupId; //导入依赖的package包/类
@Override
public void addOrUpdateExtraneousGroupEntry(Group group) {
    log.trace("addOrUpdateExtraneousGroupEntry: add/update extraneous "
            + "group entry {} in device {}",
            group.id(),
            group.deviceId());
    ConcurrentMap<GroupId, Group> extraneousIdTable =
            getExtraneousGroupIdTable(group.deviceId());
    extraneousIdTable.put(group.id(), group);
    // Check the reference counter
    if (group.referenceCount() == 0) {
        log.trace("addOrUpdateExtraneousGroupEntry: Flow reference "
                + "counter is zero and triggering remove",
                group.id(),
                group.deviceId());
        notifyDelegate(new GroupEvent(Type.GROUP_REMOVE_REQUESTED, group));
    }
}
 
开发者ID:ravikumaran2015,项目名称:ravikumaran201504,代码行数:19,代码来源:DistributedGroupStore.java


示例10: getFreeGroupIdValue

import org.onosproject.core.GroupId; //导入依赖的package包/类
private int getFreeGroupIdValue(DeviceId deviceId) {
    int freeId = groupIdGen.incrementAndGet();

    while (true) {
        Group existing = getGroup(deviceId, new GroupId(freeId));
        if (existing == null) {
            existing = (
                    extraneousGroupEntriesById.get(deviceId) != null) ?
                    extraneousGroupEntriesById.get(deviceId).
                            get(new GroupId(freeId)) :
                    null;
        }
        if (existing != null) {
            freeId = groupIdGen.incrementAndGet();
        } else {
            break;
        }
    }
    log.debug("getFreeGroupIdValue: Next Free ID is {}", freeId);
    return freeId;
}
 
开发者ID:opennetworkinglab,项目名称:onos,代码行数:22,代码来源:DistributedGroupStore.java


示例11: testTunnelAdded

import org.onosproject.core.GroupId; //导入依赖的package包/类
@Test
public void testTunnelAdded() {
    TunnelEndPoint src = IpTunnelEndPoint.ipTunnelPoint(IpAddress
            .valueOf("192.168.1.1"));
    TunnelEndPoint dst = IpTunnelEndPoint.ipTunnelPoint(IpAddress
            .valueOf("192.168.1.3"));
    SparseAnnotations annotations = DefaultAnnotations.builder()
            .set("bandwidth", "1024").build();

    List<Link> links = new ArrayList<Link>();
    links.add(link);
    TunnelDescription tunnel = new DefaultTunnelDescription(
                                                            TunnelId.valueOf("1234"),
                                                            src,
                                                            dst,
                                                            Tunnel.Type.VXLAN,
                                                            new GroupId(0),
                                                            this.provider.id(),
                                                            TunnelName.tunnelName("tunnel12"),
                                                            new DefaultPath(this.provider.id(), links, 0.3),
                                                            annotations);
    provider.tunnelAdded(tunnel);
    assertEquals(1, providerService.tunnelSet.size());
}
 
开发者ID:opennetworkinglab,项目名称:onos,代码行数:25,代码来源:OvsdbTunnelProviderTest.java


示例12: testTunnelRemoved

import org.onosproject.core.GroupId; //导入依赖的package包/类
@Test
public void testTunnelRemoved() {
    TunnelEndPoint src = IpTunnelEndPoint.ipTunnelPoint(IpAddress
            .valueOf("192.168.1.1"));
    TunnelEndPoint dst = IpTunnelEndPoint.ipTunnelPoint(IpAddress
            .valueOf("192.168.1.3"));
    SparseAnnotations annotations = DefaultAnnotations.builder()
            .set("bandwidth", "1024").build();

    List<Link> links = new ArrayList<Link>();
    links.add(link);
    TunnelDescription tunnel = new DefaultTunnelDescription(
                                                            TunnelId.valueOf("1234"),
                                                            src,
                                                            dst,
                                                            Tunnel.Type.VXLAN,
                                                            new GroupId(0),
                                                            this.provider.id(),
                                                            TunnelName.tunnelName("tunnel1"),
                                                            new DefaultPath(this.provider.id(), links, 0.3),
                                                            annotations);
    provider.tunnelRemoved(tunnel);
    assertEquals(0, providerService.tunnelSet.size());
}
 
开发者ID:opennetworkinglab,项目名称:onos,代码行数:25,代码来源:OvsdbTunnelProviderTest.java


示例13: DefaultTunnelDescription

import org.onosproject.core.GroupId; //导入依赖的package包/类
/**
 * Creates a tunnel description using the supplied information.
 *
 * @param id TunnelId
 * @param src TunnelPoint source
 * @param dst TunnelPoint destination
 * @param type tunnel type
 * @param groupId groupId
 * @param producerName tunnel producer
 * @param tunnelName tunnel name
 * @param path the path of tunnel
 * @param annotations optional key/value annotations
 */
public DefaultTunnelDescription(TunnelId id, TunnelEndPoint src,
                                TunnelEndPoint dst, Tunnel.Type type,
                                GroupId groupId,
                                ProviderId producerName,
                                TunnelName tunnelName,
                                Path path,
                                SparseAnnotations... annotations) {
    super(annotations);
    this.tunnelId = id;
    this.src = src;
    this.dst = dst;
    this.type = type;
    this.groupId = groupId;
    this.producerName = producerName;
    this.tunnelName = tunnelName;
    this.path = path;
    this.networkRes = null;
}
 
开发者ID:opennetworkinglab,项目名称:onos,代码行数:32,代码来源:DefaultTunnelDescription.java


示例14: DefaultTunnel

import org.onosproject.core.GroupId; //导入依赖的package包/类
/**
 * Creates an tunnel using the supplied information.
 *
 * @param producerName provider identity
 * @param src tunnel source
 * @param dst tunnel destination
 * @param type tunnel type
 * @param state tunnel state
 * @param groupId groupId
 * @param tunnelId tunnelId
 * @param tunnelName tunnel name
 * @param path the path of tunnel
 * @param annotations optional key/value annotations
 */
public DefaultTunnel(ProviderId producerName, TunnelEndPoint src,
                     TunnelEndPoint dst, Type type, State state,
                     GroupId groupId, TunnelId tunnelId,
                     TunnelName tunnelName, Path path, Annotations... annotations) {
    super(producerName, annotations);
    this.src = src;
    this.dst = dst;
    this.type = type;
    this.state = state;
    this.groupId = groupId;
    this.tunnelId = tunnelId;
    this.tunnelName = tunnelName;
    this.path = path;
    this.networkRes = null;
}
 
开发者ID:opennetworkinglab,项目名称:onos,代码行数:30,代码来源:DefaultTunnel.java


示例15: getFreeGroupIdValue

import org.onosproject.core.GroupId; //导入依赖的package包/类
private int getFreeGroupIdValue(DeviceId deviceId) {
    int freeId = groupIdGen.incrementAndGet();

    while (true) {
        Group existing = (
                groupEntriesById.get(deviceId) != null) ?
                groupEntriesById.get(deviceId).get(new GroupId(freeId)) :
                null;
        if (existing == null) {
            existing = (
                    extraneousGroupEntriesById.get(deviceId) != null) ?
                    extraneousGroupEntriesById.get(deviceId).
                    get(new GroupId(freeId)) :
                    null;
        }
        if (existing != null) {
            freeId = groupIdGen.incrementAndGet();
        } else {
            break;
        }
    }
    return freeId;
}
 
开发者ID:opennetworkinglab,项目名称:onos,代码行数:24,代码来源:SimpleGroupStore.java


示例16: testConstructor

import org.onosproject.core.GroupId; //导入依赖的package包/类
/**
 * Checks the operation of equals(), hashCode() and toString() methods.
 */
@Test
public void testConstructor() {
    TunnelEndPoint src = IpTunnelEndPoint.ipTunnelPoint(IpAddress
            .valueOf(23423));
    TunnelEndPoint dst = IpTunnelEndPoint.ipTunnelPoint(IpAddress
            .valueOf(32421));
    GroupId groupId = new GroupId(92034);
    TunnelName tunnelName = TunnelName.tunnelName("TunnelName");
    TunnelId tunnelId = TunnelId.valueOf("41654654");
    ProviderId producerName1 = new ProviderId("producer1", "13");
    Tunnel p1 = new DefaultTunnel(producerName1, src, dst, Tunnel.Type.VXLAN,
                                  Tunnel.State.ACTIVE, groupId, tunnelId,
                                  tunnelName, null);
    TunnelEvent e1 = new TunnelEvent(TunnelEvent.Type.TUNNEL_ADDED, p1);
    assertThat(e1, is(notNullValue()));
    assertThat(e1.type(), is(TunnelEvent.Type.TUNNEL_ADDED));
    assertThat(e1.subject(), is(p1));
}
 
开发者ID:opennetworkinglab,项目名称:onos,代码行数:22,代码来源:TunnelEventTest.java


示例17: testEquality

import org.onosproject.core.GroupId; //导入依赖的package包/类
@Test
public void testEquality() {
    TunnelEndPoint src = IpTunnelEndPoint.ipTunnelPoint(IpAddress
            .valueOf(23423));
    TunnelEndPoint dst = IpTunnelEndPoint.ipTunnelPoint(IpAddress
            .valueOf(32421));
    GroupId groupId = new GroupId(92034);
    TunnelName tunnelName = TunnelName.tunnelName("TunnelName");
    TunnelId tunnelId = TunnelId.valueOf("41654654");
    ProviderId producerName1 = new ProviderId("producer1", "13");
    ProviderId producerName2 = new ProviderId("producer2", "13");
    Tunnel p1 = new DefaultTunnel(producerName1, src, dst, Tunnel.Type.VXLAN,
                                  Tunnel.State.ACTIVE, groupId, tunnelId,
                                  tunnelName, null);
    Tunnel p2 = new DefaultTunnel(producerName1, src, dst, Tunnel.Type.VXLAN,
                                  Tunnel.State.ACTIVE, groupId, tunnelId,
                                  tunnelName, null);
    Tunnel p3 = new DefaultTunnel(producerName2, src, dst, Tunnel.Type.OCH,
                                  Tunnel.State.ACTIVE, groupId, tunnelId,
                                  tunnelName, null);
    new EqualsTester().addEqualityGroup(p1, p2).addEqualityGroup(p3)
            .testEquals();
}
 
开发者ID:opennetworkinglab,项目名称:onos,代码行数:24,代码来源:DefaultTunnelTest.java


示例18: removeGroupEntry

import org.onosproject.core.GroupId; //导入依赖的package包/类
@Override
public void removeGroupEntry(NetworkId networkId, Group group) {
    StoredGroupEntry existing = null;
    if (groupEntriesById.get(networkId) != null
            && groupEntriesById.get(networkId).get(group.deviceId()) != null) {
       existing = groupEntriesById
               .get(networkId).get(group.deviceId()).get(group.id());
    }

    if (existing != null) {
        ConcurrentMap<GroupKey, StoredGroupEntry> keyTable =
                getGroupKeyTable(networkId, existing.deviceId());
        ConcurrentMap<GroupId, StoredGroupEntry> idTable =
                getGroupIdTable(networkId, existing.deviceId());
        idTable.remove(existing.id());
        keyTable.remove(existing.appCookie());
        notifyDelegate(networkId,
                       new GroupEvent(GroupEvent.Type.GROUP_REMOVED, existing));
    }
}
 
开发者ID:opennetworkinglab,项目名称:onos,代码行数:21,代码来源:SimpleVirtualGroupStore.java


示例19: DefaultFlowRule

import org.onosproject.core.GroupId; //导入依赖的package包/类
private DefaultFlowRule(DeviceId deviceId, TrafficSelector selector,
                        TrafficTreatment treatment, Integer priority,
                        FlowId flowId, Boolean permanent, Integer timeout, Integer hardTimeout,
                        FlowRemoveReason reason, TableId tableId) {

    this.deviceId = deviceId;
    this.selector = selector;
    this.treatment = treatment;
    this.priority = priority;
    this.appId = (short) (flowId.value() >>> 48);
    this.id = flowId;
    this.permanent = permanent;
    this.timeout = timeout;
    this.hardTimeout = hardTimeout;
    this.reason = reason;
    this.tableId = tableId;
    this.created = System.currentTimeMillis();


    //FIXME: fields below will be removed.
    this.groupId = new GroupId(0);
    this.payLoad = null;
}
 
开发者ID:opennetworkinglab,项目名称:onos,代码行数:24,代码来源:DefaultFlowRule.java


示例20: createSouthboundGroupEntry

import org.onosproject.core.GroupId; //导入依赖的package包/类
private static Group createSouthboundGroupEntry(GroupId gId,
                                         List<PortNumber> ports,
                                         long referenceCount, DeviceId deviceId) {
    List<PortNumber> outPorts = new ArrayList<>();
    outPorts.addAll(ports);

    List<GroupBucket> buckets = new ArrayList<>();
    for (PortNumber portNumber : outPorts) {
        TrafficTreatment.Builder tBuilder = DefaultTrafficTreatment.builder();
        tBuilder.setOutput(portNumber)
                .setEthDst(MacAddress.valueOf("00:00:00:00:00:02"))
                .setEthSrc(MacAddress.valueOf("00:00:00:00:00:01"))
                .pushMpls()
                .setMpls(MplsLabel.mplsLabel(106));
        buckets.add(DefaultGroupBucket.createSelectGroupBucket(
                tBuilder.build()));
    }
    GroupBuckets groupBuckets = new GroupBuckets(buckets);
    StoredGroupEntry group = new DefaultGroup(
            gId, deviceId, Group.Type.SELECT, groupBuckets);
    group.setReferenceCount(referenceCount);
    return group;
}
 
开发者ID:opennetworkinglab,项目名称:onos,代码行数:24,代码来源:GroupManagerTest.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java ScrollEventType类代码示例发布时间:2022-05-22
下一篇:
Java Attributes类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap