public interface NotificationPublishService extends BindingService
NotificationService
which also allows its users to
submit YANG-modeled notifications for delivery. There are three
methods of submission, following the patters from BlockingQueue
:
- putNotification(Notification)
, which may block indefinitely
if the implementation cannot allocate resources to accept the notification,
- offerNotification(Notification)
, which does not block if face
of resource starvation,
- offerNotification(Notification, int, TimeUnit)
, which may block
for specified time if resources are thin.
The actual delivery to listeners is asynchronous and implementation-specific. Users of this interface should not make any assumptions as to whether the notification has or has not been seen.
Modifier and Type | Field and Description |
---|---|
static com.google.common.util.concurrent.ListenableFuture<Object> |
REJECTED
Well-known value indicating that the binding-aware implementation is currently not
able to accept a notification.
|
Modifier and Type | Method and Description |
---|---|
@NonNull com.google.common.util.concurrent.ListenableFuture<? extends Object> |
offerNotification(@NonNull Notification notification)
Publishes a notification to subscribed listeners.
|
@NonNull com.google.common.util.concurrent.ListenableFuture<? extends Object> |
offerNotification(@NonNull Notification notification,
int timeout,
@NonNull TimeUnit unit)
Publishes a notification to subscribed listeners.
|
void |
putNotification(@NonNull Notification notification)
Publishes a notification to subscribed listeners.
|
static final com.google.common.util.concurrent.ListenableFuture<Object> REJECTED
void putNotification(@NonNull Notification notification) throws InterruptedException
notification
- the notification to publish.InterruptedException
- if interrupted while waitingNullPointerException
- if the notification is null@NonNull com.google.common.util.concurrent.ListenableFuture<? extends Object> offerNotification(@NonNull Notification notification)
Still guaranteed not to block. Returns Listenable Future which will complete once.
notification
- the notification to publish.REJECTED
if
resource constraints preventNullPointerException
- if the notification is null@NonNull com.google.common.util.concurrent.ListenableFuture<? extends Object> offerNotification(@NonNull Notification notification, int timeout, @NonNull TimeUnit unit) throws InterruptedException
notification
- the notification to publish.timeout
- how long to wait before giving up, in units of unitunit
- a TimeUnit determining how to interpret the timeout parameterREJECTED
if
resource constraints preventInterruptedException
- if interrupted while waitingNullPointerException
- if the notification or unit is nullIllegalArgumentException
- if timeout is negative.Copyright © 2019 OpenDaylight. All rights reserved.