Package com.c8db.internal
Class C8StreamImpl
- java.lang.Object
-
- com.c8db.internal.C8Executeable<E>
-
- com.c8db.internal.InternalC8Stream<C8DBImpl,C8DatabaseImpl,C8ExecutorSync>
-
- com.c8db.internal.C8StreamImpl
-
- All Implemented Interfaces:
C8SerializationAccessor,C8Stream
public class C8StreamImpl extends InternalC8Stream<C8DBImpl,C8DatabaseImpl,C8ExecutorSync> implements C8Stream
-
-
Field Summary
-
Fields inherited from class com.c8db.internal.InternalC8Stream
PATH_API_STREAMS
-
Fields inherited from class com.c8db.internal.C8Executeable
context, executor, util
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedC8StreamImpl(C8DatabaseImpl db, String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddeleteSubscription(String subscriptionName, boolean isLocal)Delete a subscription.voidexpireMessagesInSeconds(String subscriptionName, int expireTimeInSeconds, boolean isLocal)Expire messages on a stream subscription.C8StreamBacklogEntitygetBacklog(boolean isLocal)Get estimated backlog for offline stream.C8StreamStatisticsEntitygetStatistics(boolean isLocal)Get the statistics for the given stream.Collection<String>getSubscriptions(boolean isLocal)Get the list of persistent subscriptions for a given stream.voidresetCursor(String subscriptionName, boolean isLocal)Disconnect all active consumers for a cursor and reset the cursor.voidresetCursorToTimestamp(String subscriptionName, int timestamp, boolean isLocal)Reset subscription to message position closest to absolute timestamp (in miliseconds).voidskipAllMessages(String subscriptionName, boolean isLocal)Skip all messages on a stream subscription.voidskipMessages(String subscriptionName, int numberOfMessages, boolean isLocal)Skip num messages on a topic subscription.voidterminate(boolean isLocal)Terminate a stream.-
Methods inherited from class com.c8db.internal.InternalC8Stream
booleanResponseDeserializer, db, deleteSubscriptionRequest, dropRequest, dropRequest, expireMessagesRequest, getC8StreamBacklogRequest, getC8StreamBacklogResponseDeserializer, getC8StreamStatisticsRequest, getC8StreamStatisticsResponseDeserializer, getC8StreamSubscriptionsRequest, getC8StreamSubscriptionsResponseDeserializer, name, resetCursorRequest, resetCursorRequest, skipAllMessagesRequest, skipMessagesRequest, terminateC8StreamRequest
-
Methods inherited from class com.c8db.internal.C8Executeable
createPath, executor, request, util, util
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.c8db.C8SerializationAccessor
util, util
-
-
-
-
Constructor Detail
-
C8StreamImpl
protected C8StreamImpl(C8DatabaseImpl db, String name)
-
-
Method Detail
-
getBacklog
public C8StreamBacklogEntity getBacklog(boolean isLocal)
Description copied from interface:C8StreamGet estimated backlog for offline stream.- Specified by:
getBacklogin interfaceC8Stream- Returns:
-
getStatistics
public C8StreamStatisticsEntity getStatistics(boolean isLocal)
Description copied from interface:C8StreamGet the statistics for the given stream.- Specified by:
getStatisticsin interfaceC8Stream- Parameters:
isLocal- Operate on a local stream instead of a global one. Default value: false- Returns:
-
terminate
public void terminate(boolean isLocal)
Description copied from interface:C8StreamTerminate a stream. A stream that is terminated will not accept any more messages to be published and will let consumer to drain existing messages in backlog.
-
getSubscriptions
public Collection<String> getSubscriptions(boolean isLocal)
Description copied from interface:C8StreamGet the list of persistent subscriptions for a given stream.- Specified by:
getSubscriptionsin interfaceC8Stream- Parameters:
isLocal- Operate on a local stream instead of a global one. Default value: false- Returns:
-
skipMessages
public void skipMessages(String subscriptionName, int numberOfMessages, boolean isLocal)
Description copied from interface:C8StreamSkip num messages on a topic subscription.- Specified by:
skipMessagesin interfaceC8Stream- Parameters:
subscriptionName- Identification name of the subscription.numberOfMessages- Number of messages to skip.isLocal- Operate on a local stream instead of a global one.
-
skipAllMessages
public void skipAllMessages(String subscriptionName, boolean isLocal)
Description copied from interface:C8StreamSkip all messages on a stream subscription.- Specified by:
skipAllMessagesin interfaceC8Stream- Parameters:
subscriptionName- Identification name of the subscription.isLocal- Operate on a local stream instead of a global one.
-
resetCursorToTimestamp
public void resetCursorToTimestamp(String subscriptionName, int timestamp, boolean isLocal)
Description copied from interface:C8StreamReset subscription to message position closest to absolute timestamp (in miliseconds).- Specified by:
resetCursorToTimestampin interfaceC8Stream- Parameters:
subscriptionName- Identification name of the subscription.timestamp- Timestamp in miliseconds.isLocal- Operate on a local stream instead of a global one.
-
resetCursor
public void resetCursor(String subscriptionName, boolean isLocal)
Description copied from interface:C8StreamDisconnect all active consumers for a cursor and reset the cursor.- Specified by:
resetCursorin interfaceC8Stream- Parameters:
subscriptionName- Identification name of the subscription.isLocal- Operate on a local stream instead of a global one.
-
expireMessagesInSeconds
public void expireMessagesInSeconds(String subscriptionName, int expireTimeInSeconds, boolean isLocal)
Description copied from interface:C8StreamExpire messages on a stream subscription.- Specified by:
expireMessagesInSecondsin interfaceC8Stream- Parameters:
subscriptionName- Identification name of the subscription.expireTimeInSeconds- Expiration time in seconds.isLocal- Operate on a local stream instead of a global one.
-
deleteSubscription
public void deleteSubscription(String subscriptionName, boolean isLocal)
Description copied from interface:C8StreamDelete a subscription.- Specified by:
deleteSubscriptionin interfaceC8Stream- Parameters:
subscriptionName- Identification name of the subscription.isLocal- Operate on a local stream instead of a global one.
-
-