Brian O'Connor

Adding @Beta to TunnelService and associated API classes

Change-Id: I58ea6b5ef63ed9a6f7c45a3f27ed08fc70683acd
Showing 21 changed files with 46 additions and 0 deletions
......@@ -20,6 +20,7 @@ import static com.google.common.base.MoreObjects.toStringHelper;
import java.util.Objects;
import java.util.Optional;
import com.google.common.annotations.Beta;
import org.onosproject.net.AbstractModel;
import org.onosproject.net.Annotations;
import org.onosproject.net.ElementId;
......@@ -29,6 +30,7 @@ import org.onosproject.net.provider.ProviderId;
/**
* Default optical tunnel point model implementation.
*/
@Beta
public class DefaultOpticalTunnelEndPoint extends AbstractModel implements OpticalTunnelEndPoint {
private final Optional<ElementId> elementId;
private final Optional<PortNumber> portNumber;
......
......@@ -19,6 +19,7 @@ import static com.google.common.base.MoreObjects.toStringHelper;
import java.util.Objects;
import com.google.common.annotations.Beta;
import org.onosproject.core.DefaultGroupId;
import org.onosproject.net.AbstractModel;
import org.onosproject.net.Annotations;
......@@ -30,6 +31,7 @@ import org.onosproject.net.provider.ProviderId;
* The default implementation of an network tunnel. supports for creating a
* tunnel by connect point ,IP address, MAC address, device and so on.
*/
@Beta
public final class DefaultTunnel extends AbstractModel implements Tunnel {
private final TunnelEndPoint src; // a source point of tunnel.
......
......@@ -15,6 +15,7 @@
*/
package org.onosproject.incubator.net.tunnel;
import com.google.common.annotations.Beta;
import org.onosproject.core.DefaultGroupId;
import org.onosproject.net.AbstractDescription;
import org.onosproject.net.Path;
......@@ -26,6 +27,7 @@ import com.google.common.base.MoreObjects;
/**
* Default implementation of immutable tunnel description entity.
*/
@Beta
public class DefaultTunnelDescription extends AbstractDescription
implements TunnelDescription {
......
......@@ -18,12 +18,15 @@ package org.onosproject.incubator.net.tunnel;
import java.util.Objects;
import com.google.common.annotations.Beta;
import org.onlab.packet.IpAddress;
import com.google.common.base.MoreObjects;
/**
* Represent for a tunnel point using ip address.
*/
@Beta
public final class IpTunnelEndPoint implements TunnelEndPoint {
private final IpAddress ip;
......
......@@ -17,11 +17,14 @@
package org.onosproject.incubator.net.tunnel;
import java.util.Objects;
import com.google.common.annotations.Beta;
import com.google.common.primitives.UnsignedLongs;
/**
* Representation of a label Id, a logical port identifier.
*/
@Beta
public final class OpticalLogicId {
/**
* Represents a logical Id.
......
......@@ -18,6 +18,7 @@ package org.onosproject.incubator.net.tunnel;
import java.util.Optional;
import com.google.common.annotations.Beta;
import org.onosproject.net.Annotated;
import org.onosproject.net.ElementId;
import org.onosproject.net.NetworkResource;
......@@ -29,6 +30,7 @@ import org.onosproject.net.Provided;
* it is used to identify e.g., ODUk timeSlot, WDM lambda, etc.
* It supports nested case.
*/
@Beta
public interface OpticalTunnelEndPoint extends TunnelEndPoint, Annotated, Provided, NetworkResource {
/** Represents coarse tunnel point type classification. */
......
......@@ -15,6 +15,7 @@
*/
package org.onosproject.incubator.net.tunnel;
import com.google.common.annotations.Beta;
import org.onosproject.core.DefaultGroupId;
import org.onosproject.net.Annotated;
import org.onosproject.net.NetworkResource;
......@@ -28,6 +29,7 @@ import org.onosproject.net.Provided;
* least two tunnel end point objects that model the logical ports essentially.
* Note that it supports nested case.
*/
@Beta
public interface Tunnel extends Annotated, Provided, NetworkResource {
/**
......
......@@ -16,12 +16,14 @@
package org.onosproject.incubator.net.tunnel;
import com.google.common.annotations.Beta;
import org.onosproject.net.Path;
import org.onosproject.net.provider.ProviderId;
/**
* Service for administering the inventory of provisioned tunnels.
*/
@Beta
public interface TunnelAdminService {
/**
......
......@@ -15,6 +15,7 @@
*/
package org.onosproject.incubator.net.tunnel;
import com.google.common.annotations.Beta;
import org.onosproject.core.DefaultGroupId;
import org.onosproject.incubator.net.tunnel.Tunnel.Type;
import org.onosproject.net.Annotated;
......@@ -25,6 +26,7 @@ import org.onosproject.net.provider.ProviderId;
/**
* Describes a tunnel.
*/
@Beta
public interface TunnelDescription extends Description, Annotated {
/**
......
......@@ -16,10 +16,13 @@
package org.onosproject.incubator.net.tunnel;
import com.google.common.annotations.Beta;
/**
* Represents for source end point or destination end point of a tunnel. Maybe a tunnel
* based on ConnectPoint, IpAddress, MacAddress and so on is built.
*/
@Beta
public interface TunnelEndPoint {
}
......
......@@ -16,11 +16,13 @@
package org.onosproject.incubator.net.tunnel;
import com.google.common.annotations.Beta;
import org.onosproject.event.AbstractEvent;
/**
* Describes tunnel events.
*/
@Beta
public final class TunnelEvent extends AbstractEvent<TunnelEvent.Type, Tunnel> {
/**
......
......@@ -16,10 +16,12 @@
package org.onosproject.incubator.net.tunnel;
import com.google.common.annotations.Beta;
/**
* Representation of a Tunnel Id.
*/
@Beta
public final class TunnelId {
private final long value;
......
......@@ -16,10 +16,12 @@
package org.onosproject.incubator.net.tunnel;
import com.google.common.annotations.Beta;
import org.onosproject.event.EventListener;
/**
* Entity capable of receiving tunnel related events.
*/
@Beta
public interface TunnelListener extends EventListener<TunnelEvent> {
}
......
......@@ -16,6 +16,8 @@
package org.onosproject.incubator.net.tunnel;
import com.google.common.annotations.Beta;
import java.util.Objects;
/**
......@@ -23,6 +25,7 @@ import java.util.Objects;
* TunnelName is given by producer. The consumer can borrow tunnels with
* TunnelId or TunnelName.
*/
@Beta
public final class TunnelName {
private final String str;
......
......@@ -16,6 +16,7 @@
package org.onosproject.incubator.net.tunnel;
import com.google.common.annotations.Beta;
import org.onosproject.net.ElementId;
import org.onosproject.net.Path;
import org.onosproject.net.provider.Provider;
......@@ -23,6 +24,7 @@ import org.onosproject.net.provider.Provider;
/**
* Abstraction of an entity providing tunnel setup/release services to the core.
*/
@Beta
public interface TunnelProvider extends Provider {
/**
......
......@@ -16,11 +16,13 @@
package org.onosproject.incubator.net.tunnel;
import com.google.common.annotations.Beta;
import org.onosproject.net.provider.ProviderRegistry;
/**
* Abstraction of an tunnel provider registry.
*/
@Beta
public interface TunnelProviderRegistry
extends ProviderRegistry<TunnelProvider, TunnelProviderService> {
}
......
......@@ -16,11 +16,13 @@
package org.onosproject.incubator.net.tunnel;
import com.google.common.annotations.Beta;
import org.onosproject.net.provider.ProviderService;
/**
* APIs for tunnel provider to notify the tunnel subSystem.
*/
@Beta
public interface TunnelProviderService extends ProviderService<TunnelProvider> {
/**
......
......@@ -17,6 +17,7 @@ package org.onosproject.incubator.net.tunnel;
import java.util.Collection;
import com.google.common.annotations.Beta;
import org.onosproject.core.ApplicationId;
import org.onosproject.incubator.net.tunnel.Tunnel.Type;
import org.onosproject.net.Annotations;
......@@ -25,6 +26,7 @@ import org.onosproject.net.DeviceId;
/**
* Service for interacting with the inventory of tunnels.
*/
@Beta
public interface TunnelService {
/**
......
......@@ -17,6 +17,7 @@ package org.onosproject.incubator.net.tunnel;
import java.util.Collection;
import com.google.common.annotations.Beta;
import org.onosproject.core.ApplicationId;
import org.onosproject.incubator.net.tunnel.Tunnel.Type;
import org.onosproject.net.Annotations;
......@@ -26,6 +27,7 @@ import org.onosproject.store.Store;
/**
* Manages inventory of tunnel; not intended for direct use.
*/
@Beta
public interface TunnelStore extends Store<TunnelEvent, TunnelStoreDelegate> {
/**
* Creates or updates a tunnel.
......
......@@ -16,10 +16,12 @@
package org.onosproject.incubator.net.tunnel;
import com.google.common.annotations.Beta;
import org.onosproject.store.StoreDelegate;
/**
* Tunnel store delegate abstraction.
*/
@Beta
public interface TunnelStoreDelegate extends StoreDelegate<TunnelEvent> {
}
......
......@@ -20,6 +20,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
import java.util.Objects;
import com.google.common.annotations.Beta;
import org.onosproject.core.ApplicationId;
import org.onosproject.net.AbstractAnnotated;
import org.onosproject.net.Annotations;
......@@ -33,6 +34,7 @@ import com.google.common.base.MoreObjects;
* ONOS. Although there is no a tunnel that consumer want to use, when producer
* creates a new tunnel, ONOS will notify the consumers that want to use it.
*/
@Beta
public final class TunnelSubscription extends AbstractAnnotated {
private final ApplicationId consumerId;
private final TunnelEndPoint src;
......