public class IpcPublication extends java.lang.Object implements DriverManagedResource, Subscribable
| Constructor and Description |
|---|
IpcPublication(long registrationId,
int sessionId,
int streamId,
org.agrona.concurrent.status.Position publisherLimit,
RawLog rawLog,
long unblockTimeoutNs,
SystemCounters systemCounters,
boolean isExclusive) |
| Modifier and Type | Method and Description |
|---|---|
void |
addSubscriber(org.agrona.concurrent.status.ReadablePosition subscriberPosition)
Add a subscriber identified by its position.
|
void |
close() |
long |
consumerPosition()
Position of the consumer for this resource.
|
int |
decRef()
Decrement reference count to this resource.
|
void |
delete() |
boolean |
hasReachedEndOfLife()
Has resource reached end of its life and should be reclaimed?
|
int |
incRef()
Increment reference count to this resource.
|
boolean |
isExclusive() |
long |
joiningPosition() |
void |
onTimeEvent(long timeNs,
long timeMs,
DriverConductor conductor)
Inform resource of timeNs passing and pass it DriverConductor to inform of any state transitions.
|
long |
producerPosition()
Position of the producer for this resource.
|
int |
publisherLimitId() |
RawLog |
rawLog() |
long |
registrationId() |
void |
removeSubscriber(org.agrona.concurrent.status.ReadablePosition subscriberPosition)
Remove a subscriber identified by its position.
|
int |
sessionId() |
int |
streamId() |
long |
timeOfLastStateChange() |
void |
timeOfLastStateChange(long time) |
boolean |
unblockAtConsumerPosition()
Unblock the resource at consumer position.
|
public IpcPublication(long registrationId,
int sessionId,
int streamId,
org.agrona.concurrent.status.Position publisherLimit,
RawLog rawLog,
long unblockTimeoutNs,
SystemCounters systemCounters,
boolean isExclusive)
public int sessionId()
public int streamId()
public long registrationId()
public boolean isExclusive()
public RawLog rawLog()
public int publisherLimitId()
public void close()
public void addSubscriber(org.agrona.concurrent.status.ReadablePosition subscriberPosition)
SubscribableaddSubscriber in interface SubscribablesubscriberPosition - for tracking and identifying the subscriber.public void removeSubscriber(org.agrona.concurrent.status.ReadablePosition subscriberPosition)
SubscribableSubscribable is responsible for calling ReadablePosition.close() on
removed positions.removeSubscriber in interface SubscribablesubscriberPosition - to be identified by.public long joiningPosition()
public long producerPosition()
DriverManagedResourceproducerPosition in interface DriverManagedResourcepublic void onTimeEvent(long timeNs,
long timeMs,
DriverConductor conductor)
DriverManagedResourceonTimeEvent in interface DriverManagedResourcetimeNs - now in nanosecondstimeMs - now in milliseconds for epochconductor - to inform of any state transitionspublic boolean hasReachedEndOfLife()
DriverManagedResourcehasReachedEndOfLife in interface DriverManagedResourcepublic void timeOfLastStateChange(long time)
timeOfLastStateChange in interface org.agrona.ManagedResourcepublic long timeOfLastStateChange()
timeOfLastStateChange in interface org.agrona.ManagedResourcepublic void delete()
delete in interface org.agrona.ManagedResourcepublic int incRef()
DriverManagedResourceincRef in interface DriverManagedResourcepublic int decRef()
DriverManagedResourcedecRef in interface DriverManagedResourcepublic long consumerPosition()
DriverManagedResourceconsumerPosition in interface DriverManagedResourcepublic boolean unblockAtConsumerPosition()
DriverManagedResourceunblockAtConsumerPosition in interface DriverManagedResourceCopyright © 2014-2017 Real Logic Ltd. All Rights Reserved.