public interface Replicator extends Closeable
Revisions and consumers to
check for updates. When a client needs to be updated, it is given a
SessionTokenthrough which it can
obtainthe files of that revision. After the client has finished obtaining all the files, it should
releasethe given session, so that the files can be reclaimed if they are not needed anymore.
A client is always updated to the newest revision available. That is, if a client is on revision r1 and revisions r2 and r3 were published, then when the cllient will next check for update, it will receive r3.
|Modifier and Type||Method and Description|
Check whether the given version is up-to-date and returns a
Publish a new
Notify that the specified
void publish(Revision revision) throws IOException
Revisionfor consumption by clients. It is the caller's responsibility to verify that the revision files exist and can be read by clients. When the revision is no longer needed, it will be
releasedby the replicator.
SessionToken checkForUpdate(String currVersion) throws IOException
SessionTokenwhich can be used for fetching the revision files, otherwise returns
NOTE: when the returned session token is no longer needed, you
release(String) so that the session resources can be
reclaimed, including the revision files.
void release(String sessionID) throws IOException
SessionTokenis no longer needed by the caller.
InputStream obtainFile(String sessionID, String source, String fileName) throws IOException
InputStreamfor the requested file and source in the context of the given
NOTE: it is the caller's responsibility to close the returned stream.
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.