Sliced out Provider-ish API from ClockService
Change-Id: I438815f2dc7a3a304f7dc8fb09550b2a5f779265
Showing
6 changed files
with
30 additions
and
43 deletions
1 | +package org.onlab.onos.store; | ||
2 | + | ||
3 | +import org.onlab.onos.cluster.MastershipTerm; | ||
4 | +import org.onlab.onos.net.DeviceId; | ||
5 | + | ||
6 | +//TODO: Consider renaming to DeviceClockProviderService? | ||
7 | +/** | ||
8 | +* Interface for feeding term information to a logical clock service | ||
9 | +* that vends per device timestamps. | ||
10 | +*/ | ||
11 | +public interface ClockProviderService { | ||
12 | + | ||
13 | + /** | ||
14 | + * Updates the mastership term for the specified deviceId. | ||
15 | + * @param deviceId device identifier. | ||
16 | + * @param term mastership term. | ||
17 | + */ | ||
18 | + public void setMastershipTerm(DeviceId deviceId, MastershipTerm term); | ||
19 | +} |
1 | package org.onlab.onos.store; | 1 | package org.onlab.onos.store; |
2 | 2 | ||
3 | -import org.onlab.onos.cluster.MastershipTerm; | ||
4 | import org.onlab.onos.net.DeviceId; | 3 | import org.onlab.onos.net.DeviceId; |
5 | 4 | ||
6 | // TODO: Consider renaming to DeviceClockService? | 5 | // TODO: Consider renaming to DeviceClockService? |
... | @@ -15,12 +14,4 @@ public interface ClockService { | ... | @@ -15,12 +14,4 @@ public interface ClockService { |
15 | * @return timestamp. | 14 | * @return timestamp. |
16 | */ | 15 | */ |
17 | public Timestamp getTimestamp(DeviceId deviceId); | 16 | public Timestamp getTimestamp(DeviceId deviceId); |
18 | - | ||
19 | - // TODO: Should this be here or separate as Admin service, etc.? | ||
20 | - /** | ||
21 | - * Updates the mastership term for the specified deviceId. | ||
22 | - * @param deviceId device identifier. | ||
23 | - * @param term mastership term. | ||
24 | - */ | ||
25 | - public void setMastershipTerm(DeviceId deviceId, MastershipTerm term); | ||
26 | } | 17 | } | ... | ... |
... | @@ -38,7 +38,7 @@ import org.onlab.onos.net.device.DeviceStoreDelegate; | ... | @@ -38,7 +38,7 @@ import org.onlab.onos.net.device.DeviceStoreDelegate; |
38 | import org.onlab.onos.net.device.PortDescription; | 38 | import org.onlab.onos.net.device.PortDescription; |
39 | import org.onlab.onos.net.provider.AbstractProviderRegistry; | 39 | import org.onlab.onos.net.provider.AbstractProviderRegistry; |
40 | import org.onlab.onos.net.provider.AbstractProviderService; | 40 | import org.onlab.onos.net.provider.AbstractProviderService; |
41 | -import org.onlab.onos.store.ClockService; | 41 | +import org.onlab.onos.store.ClockProviderService; |
42 | import org.slf4j.Logger; | 42 | import org.slf4j.Logger; |
43 | 43 | ||
44 | /** | 44 | /** |
... | @@ -80,7 +80,7 @@ public class DeviceManager | ... | @@ -80,7 +80,7 @@ public class DeviceManager |
80 | protected MastershipTermService termService; | 80 | protected MastershipTermService termService; |
81 | 81 | ||
82 | @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) | 82 | @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) |
83 | - protected ClockService clockService; | 83 | + protected ClockProviderService clockProviderService; |
84 | 84 | ||
85 | @Activate | 85 | @Activate |
86 | public void activate() { | 86 | public void activate() { |
... | @@ -274,7 +274,7 @@ public class DeviceManager | ... | @@ -274,7 +274,7 @@ public class DeviceManager |
274 | if (event.master().equals(clusterService.getLocalNode().id())) { | 274 | if (event.master().equals(clusterService.getLocalNode().id())) { |
275 | MastershipTerm term = mastershipService.requestTermService() | 275 | MastershipTerm term = mastershipService.requestTermService() |
276 | .getMastershipTerm(event.subject()); | 276 | .getMastershipTerm(event.subject()); |
277 | - clockService.setMastershipTerm(event.subject(), term); | 277 | + clockProviderService.setMastershipTerm(event.subject(), term); |
278 | applyRole(event.subject(), MastershipRole.MASTER); | 278 | applyRole(event.subject(), MastershipRole.MASTER); |
279 | } else { | 279 | } else { |
280 | applyRole(event.subject(), MastershipRole.STANDBY); | 280 | applyRole(event.subject(), MastershipRole.STANDBY); | ... | ... |
... | @@ -12,6 +12,7 @@ import org.apache.felix.scr.annotations.Deactivate; | ... | @@ -12,6 +12,7 @@ import org.apache.felix.scr.annotations.Deactivate; |
12 | import org.apache.felix.scr.annotations.Service; | 12 | import org.apache.felix.scr.annotations.Service; |
13 | import org.onlab.onos.cluster.MastershipTerm; | 13 | import org.onlab.onos.cluster.MastershipTerm; |
14 | import org.onlab.onos.net.DeviceId; | 14 | import org.onlab.onos.net.DeviceId; |
15 | +import org.onlab.onos.store.ClockProviderService; | ||
15 | import org.onlab.onos.store.ClockService; | 16 | import org.onlab.onos.store.ClockService; |
16 | import org.onlab.onos.store.Timestamp; | 17 | import org.onlab.onos.store.Timestamp; |
17 | import org.onlab.onos.store.impl.OnosTimestamp; | 18 | import org.onlab.onos.store.impl.OnosTimestamp; |
... | @@ -22,7 +23,7 @@ import org.slf4j.Logger; | ... | @@ -22,7 +23,7 @@ import org.slf4j.Logger; |
22 | */ | 23 | */ |
23 | @Component(immediate = true) | 24 | @Component(immediate = true) |
24 | @Service | 25 | @Service |
25 | -public class DeviceClockManager implements ClockService { | 26 | +public class DeviceClockManager implements ClockService, ClockProviderService { |
26 | 27 | ||
27 | private final Logger log = getLogger(getClass()); | 28 | private final Logger log = getLogger(getClass()); |
28 | 29 | ... | ... |
... | @@ -4,27 +4,15 @@ import org.apache.felix.scr.annotations.Component; | ... | @@ -4,27 +4,15 @@ import org.apache.felix.scr.annotations.Component; |
4 | import org.apache.felix.scr.annotations.Service; | 4 | import org.apache.felix.scr.annotations.Service; |
5 | import org.onlab.onos.cluster.MastershipTerm; | 5 | import org.onlab.onos.cluster.MastershipTerm; |
6 | import org.onlab.onos.net.DeviceId; | 6 | import org.onlab.onos.net.DeviceId; |
7 | -import org.onlab.onos.store.ClockService; | 7 | +import org.onlab.onos.store.ClockProviderService; |
8 | -import org.onlab.onos.store.Timestamp; | ||
9 | 8 | ||
10 | // FIXME: Code clone in onos-core-trivial, onos-core-hz-net | 9 | // FIXME: Code clone in onos-core-trivial, onos-core-hz-net |
11 | /** | 10 | /** |
12 | - * Dummy implementation of {@link ClockService}. | 11 | + * Dummy implementation of {@link ClockProviderService}. |
13 | */ | 12 | */ |
14 | @Component(immediate = true) | 13 | @Component(immediate = true) |
15 | @Service | 14 | @Service |
16 | -public class NoOpClockService implements ClockService { | 15 | +public class NoOpClockProviderService implements ClockProviderService { |
17 | - | ||
18 | - @Override | ||
19 | - public Timestamp getTimestamp(DeviceId deviceId) { | ||
20 | - return new Timestamp() { | ||
21 | - | ||
22 | - @Override | ||
23 | - public int compareTo(Timestamp o) { | ||
24 | - throw new IllegalStateException("Never expected to be used."); | ||
25 | - } | ||
26 | - }; | ||
27 | - } | ||
28 | 16 | ||
29 | @Override | 17 | @Override |
30 | public void setMastershipTerm(DeviceId deviceId, MastershipTerm term) { | 18 | public void setMastershipTerm(DeviceId deviceId, MastershipTerm term) { | ... | ... |
... | @@ -4,27 +4,15 @@ import org.apache.felix.scr.annotations.Component; | ... | @@ -4,27 +4,15 @@ import org.apache.felix.scr.annotations.Component; |
4 | import org.apache.felix.scr.annotations.Service; | 4 | import org.apache.felix.scr.annotations.Service; |
5 | import org.onlab.onos.cluster.MastershipTerm; | 5 | import org.onlab.onos.cluster.MastershipTerm; |
6 | import org.onlab.onos.net.DeviceId; | 6 | import org.onlab.onos.net.DeviceId; |
7 | -import org.onlab.onos.store.ClockService; | 7 | +import org.onlab.onos.store.ClockProviderService; |
8 | -import org.onlab.onos.store.Timestamp; | ||
9 | 8 | ||
10 | //FIXME: Code clone in onos-core-trivial, onos-core-hz-net | 9 | //FIXME: Code clone in onos-core-trivial, onos-core-hz-net |
11 | /** | 10 | /** |
12 | - * Dummy implementation of {@link ClockService}. | 11 | + * Dummy implementation of {@link ClockProviderService}. |
13 | */ | 12 | */ |
14 | @Component(immediate = true) | 13 | @Component(immediate = true) |
15 | @Service | 14 | @Service |
16 | -public class NoOpClockService implements ClockService { | 15 | +public class NoOpClockProviderService implements ClockProviderService { |
17 | - | ||
18 | - @Override | ||
19 | - public Timestamp getTimestamp(DeviceId deviceId) { | ||
20 | - return new Timestamp() { | ||
21 | - | ||
22 | - @Override | ||
23 | - public int compareTo(Timestamp o) { | ||
24 | - throw new IllegalStateException("Never expected to be used."); | ||
25 | - } | ||
26 | - }; | ||
27 | - } | ||
28 | 16 | ||
29 | @Override | 17 | @Override |
30 | public void setMastershipTerm(DeviceId deviceId, MastershipTerm term) { | 18 | public void setMastershipTerm(DeviceId deviceId, MastershipTerm term) { | ... | ... |
-
Please register or login to post a comment