- directly call #hashCode() when hashed Object seems non-null
- replace with Objects.hashCode(Object) when Nullable
- replace with Long.hashCode(long), etc. when primitive
Change-Id: I08c24ebbe94cf4162d1491209a14baf953163e41
- Reworking store commands to use compute for updates
- Trigger add/remove to devices on map events
Change-Id: I33391435945c1775a9ef0cdc83920fc1cadfd658
- Updating EMPTY treatment to contain NOACTION
- Remove NOACTION when building treatment from existing treatment
- Putting NOACTION into immediate set if no actions exist
Change-Id: I408b6b8daf2a3d38604a900c09d7c15cc3994757
- to TopologyStores
- to TopologyServices
- to PathServices
- to REST API
Change-Id: Ib2b5840df0f8e94f327ec8f91827d3d850634562
Change-Id: I03e59210e9c79c4f92dcfa8c7983642572708429
Change-Id: Ia5c17d1ded374ef688990bd30e7f99184aaca95b
Change-Id: Ibebae50bc722701e8212263587727ad8abd79805
- Added ability to replace IPs for existing hosts to HostProviderService
- Moved createOrUpdateHost to use compute() (rather than get/set) in HostStore
Change-Id: I8ac035d010ae65f23158d2237f9fc97c8f811dd4
1. DeviceManager must not have a dependency on DeviceClockService. Clocks and Timestamps are purely distribution concerns.
2. Eliminated DeviceClockProviderService which merely served as a cache for mastership terms thereby introducing a source of staleness. Now we directly query mastership service which is already optimized for high volume reads.
3. DistributedLeadershipManager fix to ensure election won by local node immediately reflects in the local leaderboard. This is to ensure a subsequent read does not return a stale value.
Change-Id: I774b64923e382b788df5f8bde2a9fafc0294bad0
- Intents are now identified by the name portion of the appId rather than
the number
- removed the now useless "details" field which had a toString()
dump of the intent for when we didn't support all intent types
- Single Intent GET operations now accept a decimal or hexadecimal
value for the Intent key.
Change-Id: I39d635e68cccf2e59d0d11307b93329a2dc0bc96
- codec for constraint decode
- codec for intent decode
- POST method for intents
- unit tests for codecs and POST method
Change-Id: Ibc0ef8f99a0c0664710a733985424c77010c49b5
It is recommended to avoid to use a raw integer value to specify a lambda.
Replace uses of the deprecated method with the alternative
Change-Id: I108f0d15f4503df2a6a75c4f7c77aa0c678ff541
- URL for creation of a single flow is now /flows/{deviceId}
- On successful creation of a flow, Location header contains
a reference to the new object's URI
- POST operation returns status code of CREATED
- implement DELETE operation for /flows/{deviceId}/{flowId}
- removed deprecations and warnings from REST API unit
test for flows.
Change-Id: Idb43a651a659e60c07a6f36dfd69004c814b146b