Fixed some code that was reporting findbugs errors
Implemented a suppression mechanism for findbugs
reported errors and a suppression file.
Change-Id: Ie8a2e84cc57ec6ddfa14d782ee89feb095b9dd59
It lacks the guarantee the underlying IP address is IPv4.
Potential users of toInt() should use Ip4Address.toInt()
or IpAddress.getIp4Address().toInt()
Tthe latter obviously might require the explicit check that
getIp4Address() is not null.
Change-Id: I3f939695cf3c496e3fdd3fbd4a2988b565cca69a
if both objects are instanceof IpAddress.
I.e., comparing IpAddress and Ip4Address objects could return true
if the underlying value is same.
Applied the same change to IpPrefix.equals() as well.
Change-Id: Ie0644565501d3ecce2a8603117b994d033d5b82f
to get the Ip4Address and Ip6Address view of the IpAddress.
* Added methods IpPrefix.getIp4Prefix() and IpPrefix.getIp6Prefix()
to get the Ip4Prefix and Ip6Prefix view of the IpPrefix.
Added the corresponding unit tests as well.
and the corresponding unit tests.
* Reimplemented classes Ip4Address and Ip6Address by inheriting from
class IpAddress
* Reimplemented classes Ip4Prefix and Ip6Prefix by inheriting from
class IpPrefix
* Reimplemented the unit tests Ip4AddressTest and Ip6AddressTest to
match the corresponding IpAddressTest unit tests
* Reimplemented the unit tests Ip4PrefixTest and Ip6PrefixTest to
match the corresponding IpPrefixTest unit tests
* Minor refactoring/cleanup of classes IpAddress and IpPrefix
- For some of the methods, the IP Version needs to be specified by the
caller. This applies to the IpPrefix API as well.
- For now, everywhere IpAddress is used and the IP version has to be
explicitly specified by the caller, we assume/specify IPv4.
- Added unit test for class IpAddress: for both IPv4 and IPv6 addresses.
* Now IpPrefix uses IpAddress to represent the subnet address
* The IpPrefix subnet address is masked-out by the prefix length.
E.g., IpPrefix("1.2.3.4/24") is now stored as IpPrefix("1.2.3.0/24")
* Removed IpPrefix methods that are not used or don't apply anymore
* Replaced usage of IpPrefix with IpAddress where appropriate
We've defined a PacketStore abstraction through which outbound packets are
sent. The packet store has a simple implementation (basically a no-op) and a
distributed implementation on top of the cluster messaging service.
Change-Id: Ib32753314fe518ef1fd67c858db744b004539938
* Added new static methods IpAddress.makeMaskPrefix and
IpAddress.makeMaskedAddress
* Cleanup
Also, removed obsoleted Javadoc comments in Ip4Prefix and Ip6Prefix classes
* Removed IpAddress.MAX_INET_MASK and use IpPrefix.MAX_INET_MASK_LENGTH
instead
* Renamed IpAddress.INET_LEN to INET_BYTE_LENGTH
* Added IpAddress.INET_BIT_LENGTH, INET6_BYTE_LENGTH, and INET6_BIT_LENGTH
* Removed methods that are semantically incorrect, or are not needed/used
- IpAddress.prefixLength()
- IpAddress.toPrefix()
- IpAddress.mask()
- IpAddress.netmask()
- IpAddress.network()
- IpAddress.host()
- IpAddress.isMasked()
- IpAddress.contains()
- IpPrefix constructor for version and bytes (but no netmask)
- IpPrefix.valueOf(int)
* Misc. other cleanup.
Ported the following IP address classes from the older codebase:
Ip4Address, Ip6Address, Ip4Prefix, Ip6Prefix (and the corresponding
unit tests).
NOTE: Those classes are not ready to be used yet.
Change-Id: I234875abbc9df8daa2f8ae28706af591dd2c5f2d
* Moved unit test utilities to the onlab-junit package under utils/junit
- ImmutableClassChecker
- TestUtils and TestUtilsTest
* Added/ported unit test utilities from the older code
- UtilityClassChecker and UtilityClassCheckerTest
- ImmutableClassCheckerTest
* Updated/fixed some of the pom.xml files in the context of the
onlab-junit package:
- Added <scope>test</scope>
- Replaced hard-coded "1.0.0-SNAPSHOT" with "${project.version}"
Change-Id: Ie5f51ba401ca1748340f38848ab6bfc251964adc
event metrics collector. It can be loaded by one of the following two (new)
features: onos-app-metrics, onos-app-metrics-topology
After loading the module, it subscribes for topology-related events
and keeps the following state:
(a) The last 10 events
(b) The timestamp of the last event (ms after epoch) as observed by this
module
(c) The rate of the topology events: count, median rate, average rate
over the last 1, 5 or 15 minutes
The following CLI commands are added:
* onos:topology-events
Shows the last 10 topology events
* onos:topology-events-metrics
Shows the timestamp of the last event, and the rate of the topology
events: see (b) and (c) above
* Removed logging related code inside class MetricsManager
* Removed @Component related code, because it is not suppose to be used
as an component.
* Added a new class-wrapper so the Metrics can be used as a loadable service:
MetricsManagerComponent. The name and the location of this class
will be refactored in the future.
* Added new method MetricsManager.removeMetric()
* Line formatting
* Changed "interface MetricsService" to public