|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.crankuptheamps.client.RingBookmarkStore
public class RingBookmarkStore
RingBookmarkStore is an implementation of BookmarkStore that stores state on disk and in memory. For each subscription, RingBookmarkStore keeps the most recent bookmark B for which all messages prior to B have been discard()ed by the subscriber. As messages are logged and discarded, an in-memory array is used to track when a new bookmark can be logged.
Constructor Summary | |
---|---|
RingBookmarkStore(String path)
|
|
RingBookmarkStore(String path,
int targetNumberOfSubscriptions)
|
Method Summary | |
---|---|
void |
discard(Field subId,
long bookmarkSeqNo)
Log a discard-bookmark entry to the persistent log based on a bookmark sequence number. |
void |
discard(Message message)
Log a discard-bookmark entry to the persistent log based on a Message. |
Field |
getMostRecent(Field subId)
Returns the most recent bookmark from the log that ought to be used for (re-)subscriptions. |
long |
getOldestBookmarkSeq(Field subId)
Called to retrieve the sequence number of the oldest bookmark in the store. |
boolean |
isDiscarded(Message message)
Called for each arriving message to determine if the application has already seen this bookmark and should not be reprocessed. |
long |
log(Message message)
Log a bookmark to the persistent log. |
void |
noPersistedAcks(Field subId)
Called internally to let the bookmark store know that the AMPS server version doesn't support persisted acks for bookmarks. |
void |
persisted(Field subId,
BookmarkField bookmark)
Called to mark a message as safely persisted by AMPS to all of its sync replication destination. |
void |
persisted(Field subId,
long bookmark)
Called to mark a message as safely persisted by AMPS to all of its sync replication destination. |
void |
purge()
Called to purge the contents of this store. |
void |
setResizeHandler(BookmarkStoreResizeHandler handler)
Called to set a resize handler that is invoked when the store needs to resize. |
void |
setServerVersion(int version)
Called by the Client when connected to an AMPS server to indicate what version the server is. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public RingBookmarkStore(String path) throws AMPSException
AMPSException
public RingBookmarkStore(String path, int targetNumberOfSubscriptions) throws AMPSException
AMPSException
Method Detail |
---|
public long log(Message message) throws AMPSException
BookmarkStore
log
in interface BookmarkStore
AMPSException
public void discard(Field subId, long bookmarkSeqNo) throws AMPSException
BookmarkStore
discard
in interface BookmarkStore
AMPSException
public void discard(Message message) throws AMPSException
BookmarkStore
discard
in interface BookmarkStore
AMPSException
public Field getMostRecent(Field subId) throws AMPSException
BookmarkStore
getMostRecent
in interface BookmarkStore
AMPSException
public boolean isDiscarded(Message message) throws AMPSException
BookmarkStore
isDiscarded
in interface BookmarkStore
AMPSException
public void persisted(Field subId, BookmarkField bookmark) throws AMPSException
BookmarkStore
persisted
in interface BookmarkStore
AMPSException
public void persisted(Field subId, long bookmark) throws AMPSException
BookmarkStore
persisted
in interface BookmarkStore
AMPSException
public void noPersistedAcks(Field subId) throws AMPSException
BookmarkStore
noPersistedAcks
in interface BookmarkStore
AMPSException
public long getOldestBookmarkSeq(Field subId) throws AMPSException
BookmarkStore
getOldestBookmarkSeq
in interface BookmarkStore
AMPSException
public void setResizeHandler(BookmarkStoreResizeHandler handler)
BookmarkStore
setResizeHandler
in interface BookmarkStore
public void purge() throws AMPSException
BookmarkStore
purge
in interface BookmarkStore
AMPSException
public void setServerVersion(int version)
BookmarkStore
setServerVersion
in interface BookmarkStore
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |