21 package org.opensplice.dds.core.policy;
23 import java.util.concurrent.TimeUnit;
32 private static final long serialVersionUID = -3230343206569872870L;
33 private final boolean autoDisposeUnregisteredInstances;
34 private final Duration autoPurgeSuspendedSamplesDelay;
35 private final Duration autoUnregisterInstanceDelay;
39 this.autoDisposeUnregisteredInstances =
true;
40 this.autoPurgeSuspendedSamplesDelay = this.environment.
getSPI()
42 this.autoUnregisterInstanceDelay = this.environment.
getSPI()
47 boolean autoDisposeUnregisteredInstances,
48 Duration autoPurgeSuspendedSamplesDelay,
49 Duration autoUnregisterInstanceDelay) {
51 this.autoDisposeUnregisteredInstances = autoDisposeUnregisteredInstances;
53 if (autoPurgeSuspendedSamplesDelay == null) {
55 "Supplied autoPurgeSuspendedSamplesDelay duration invalid.");
57 if (autoUnregisterInstanceDelay == null) {
59 "Supplied autoUnregisterInstanceDelay duration invalid.");
61 this.autoPurgeSuspendedSamplesDelay = autoPurgeSuspendedSamplesDelay;
62 this.autoUnregisterInstanceDelay = autoUnregisterInstanceDelay;
67 return this.autoDisposeUnregisteredInstances;
72 boolean autoDisposeUnregisteredInstances) {
74 autoDisposeUnregisteredInstances,
75 this.autoPurgeSuspendedSamplesDelay,
76 this.autoUnregisterInstanceDelay);
86 return this.autoPurgeSuspendedSamplesDelay;
91 return this.autoUnregisterInstanceDelay;
98 this.autoDisposeUnregisteredInstances, duration,
99 this.autoUnregisterInstanceDelay);
104 long duration, TimeUnit unit) {
112 this.autoDisposeUnregisteredInstances,
113 this.autoPurgeSuspendedSamplesDelay, duration);
130 if (w.autoDisposeUnregisteredInstances !=
this.autoDisposeUnregisteredInstances) {
133 if (!w.autoPurgeSuspendedSamplesDelay
134 .equals(
this.autoPurgeSuspendedSamplesDelay)) {
137 return w.autoUnregisterInstanceDelay
138 .equals(this.autoUnregisterInstanceDelay);
143 final int prime = 31;
146 result = prime * result
147 + (this.autoDisposeUnregisteredInstances ? 1 : 0);
148 result = prime * result
149 + this.autoPurgeSuspendedSamplesDelay.hashCode();
151 return prime * result + this.autoUnregisterInstanceDelay.hashCode();
WriterDataLifecycle withAutoPurgeSuspendedSamplesDelay(long duration, TimeUnit unit)
Specifies the behavior of the org.omg.dds.pub.DataWriter with regards to the life cycle of the data i...
Duration getAutoUnregisterInstanceDelay()
OsplServiceEnvironment environment
WriterDataLifecycle withAutoUnregisterInstanceDelay(long duration, TimeUnit unit)
WriterDataLifecycleImpl(OsplServiceEnvironment environment, boolean autoDisposeUnregisteredInstances, Duration autoPurgeSuspendedSamplesDelay, Duration autoUnregisterInstanceDelay)
WriterDataLifecycle withAutDisposeUnregisteredInstances(boolean autoDisposeUnregisteredInstances)
Copy this policy and override the value of the property.
Class<? extends QosPolicy > getPolicyClass()
boolean isAutDisposeUnregisteredInstances()
WriterDataLifecycle withAutoPurgeSuspendedSamplesDelay(Duration duration)
Duration getAutoPurgeSuspendedSamplesDelay()
boolean equals(Object other)
ServiceProviderInterface getSPI()
This class is the abstract root for all the QoS policies.
Duration newDuration(long duration, TimeUnit unit)
Construct a org.omg.dds.core.Duration of the given magnitude.
A span of elapsed time expressed with nanosecond precision.
Duration infiniteDuration()
WriterDataLifecycleImpl(OsplServiceEnvironment environment)
WriterDataLifecycle withAutoUnregisterInstanceDelay(Duration duration)