Rice Pastry API

Uses of Interface
rice.Continuation

Packages that use Continuation
org.mpisws.p2p.filetransfer   
org.mpisws.p2p.transport.liveness   
org.mpisws.p2p.transport.networkinfo   
org.mpisws.p2p.transport.peerreview   
org.mpisws.p2p.transport.peerreview.evidence   
org.mpisws.p2p.transport.peerreview.identity   
org.mpisws.p2p.transport.rendezvous   
org.mpisws.p2p.transport.ssl   
org.mpisws.p2p.transport.table   
org.mpisws.p2p.transport.util   
rice   
rice.environment.processing   
rice.environment.processing.sim   
rice.environment.processing.simple   
rice.p2p.aggregation   
rice.p2p.commonapi   
rice.p2p.glacier   
rice.p2p.glacier.v2   
rice.p2p.multiring   
rice.p2p.past   
rice.p2p.past.gc   
rice.p2p.past.gc.messaging   
rice.p2p.past.messaging   
rice.p2p.past.testing   
rice.p2p.replication.manager   
rice.p2p.replication.manager.testing   
rice.pastry   
rice.pastry.commonapi   
rice.pastry.direct   
rice.pastry.peerreview   
rice.pastry.pns   
rice.pastry.socket   
rice.pastry.socket.appsocket   
rice.pastry.socket.internet   
rice.pastry.socket.nat.connectivityverifiier   
rice.pastry.socket.nat.probe   
rice.pastry.socket.nat.rendezvous   
rice.pastry.standard   
rice.persistence   
rice.persistence.testing   
rice.tutorial.lookup   
rice.tutorial.rawserialization2   
 

Uses of Continuation in org.mpisws.p2p.filetransfer
 

Methods in org.mpisws.p2p.filetransfer with parameters of type Continuation
 FileReceipt FileTransfer.sendFile(java.io.File f, java.nio.ByteBuffer metadata, byte priority, Continuation<FileReceipt,java.lang.Exception> c)
           
 FileReceipt FileTransferImpl.sendFile(java.io.File f, java.nio.ByteBuffer metadata, byte priority, Continuation<FileReceipt,java.lang.Exception> c)
           
 FileReceipt FileTransfer.sendFile(java.io.File f, java.nio.ByteBuffer metadata, byte priority, long offset, long length, Continuation<FileReceipt,java.lang.Exception> c)
           
 FileReceipt FileTransferImpl.sendFile(java.io.File f, java.nio.ByteBuffer metadataBB, byte priority, long offset, long length, Continuation<FileReceipt,java.lang.Exception> c)
           
 BBReceipt FileTransfer.sendMsg(java.nio.ByteBuffer bb, byte priority, Continuation<BBReceipt,java.lang.Exception> c)
           
 BBReceipt FileTransferImpl.sendMsg(java.nio.ByteBuffer bb, byte priority, Continuation<BBReceipt,java.lang.Exception> c)
           
 

Uses of Continuation in org.mpisws.p2p.transport.liveness
 

Methods in org.mpisws.p2p.transport.liveness with parameters of type Continuation
 void LivenessStrategy.checkLiveness(Identifier i, Continuation<Identifier,java.lang.Exception> c)
          Notify the continuation when the liveness check has completed.
 

Uses of Continuation in org.mpisws.p2p.transport.networkinfo
 

Methods in org.mpisws.p2p.transport.networkinfo with parameters of type Continuation
 Cancellable InetSocketAddressLookup.getExternalNodes(java.net.InetSocketAddress bootstrap, Continuation<java.util.Collection<java.net.InetSocketAddress>,java.io.IOException> c, java.util.Map<java.lang.String,java.lang.Object> options)
          find nodes outside of our firewall so I can boot
 Cancellable NetworkInfoTransportLayer.getExternalNodes(java.net.InetSocketAddress bootstrap, Continuation<java.util.Collection<java.net.InetSocketAddress>,java.io.IOException> c, java.util.Map<java.lang.String,java.lang.Object> options)
           
 Cancellable NetworkInfoTransportLayer.getId(java.net.InetSocketAddress bootstrap, byte index, Continuation<byte[],java.io.IOException> c, java.util.Map<java.lang.String,java.lang.Object> options)
           
 Cancellable InetSocketAddressLookup.getMyInetAddress(java.net.InetSocketAddress bootstrap, Continuation<java.net.InetSocketAddress,java.io.IOException> c, java.util.Map<java.lang.String,java.lang.Object> options)
          Returns the local node's InetSocketAddress
 Cancellable NetworkInfoTransportLayer.getMyInetAddress(java.net.InetSocketAddress bootstrap, Continuation<java.net.InetSocketAddress,java.io.IOException> c, java.util.Map<java.lang.String,java.lang.Object> options)
           
 Cancellable NetworkInfoTransportLayer.probe(java.net.InetSocketAddress addr, long uid, Continuation<java.lang.Long,java.lang.Exception> deliverResponseToMe, java.util.Map<java.lang.String,java.lang.Object> options)
           
 Cancellable Prober.probe(java.net.InetSocketAddress addr, long uid, Continuation<java.lang.Long,java.lang.Exception> deliverResponseToMe, java.util.Map<java.lang.String,java.lang.Object> options)
           
 Cancellable ProbeStrategy.requestProbe(MultiInetSocketAddress addr, long uid, Continuation<java.lang.Boolean,java.lang.Exception> deliverResultToMe)
          Finds another node in the network and asks them to probe the addr with the uid calls Prober.probe() on another node
 

Uses of Continuation in org.mpisws.p2p.transport.peerreview
 

Methods in org.mpisws.p2p.transport.peerreview with parameters of type Continuation
 Cancellable PeerReviewImpl.requestCertificate(Handle source, Identifier certHolder, Continuation<java.security.cert.X509Certificate,java.lang.Exception> c, java.util.Map<java.lang.String,java.lang.Object> options)
           
 

Uses of Continuation in org.mpisws.p2p.transport.peerreview.evidence
 

Methods in org.mpisws.p2p.transport.peerreview.evidence with parameters of type Continuation
 void EvidenceTransferProtocol.requestWitnesses(java.util.Collection<Identifier> subjects, Continuation<java.util.Map<Identifier,java.util.Collection<Handle>>,java.lang.Exception> c)
           
 void EvidenceTransferProtocolImpl.requestWitnesses(java.util.Collection<Identifier> subjectList, Continuation<java.util.Map<Identifier,java.util.Collection<Handle>>,java.lang.Exception> c)
           
 

Constructors in org.mpisws.p2p.transport.peerreview.evidence with parameters of type Continuation
EvidenceTransferProtocolImpl.QueryInfo(java.util.Collection<Identifier> subjects, Continuation<java.util.Map<Identifier,java.util.Collection<Handle>>,java.lang.Exception> c)
           
 

Uses of Continuation in org.mpisws.p2p.transport.peerreview.identity
 

Methods in org.mpisws.p2p.transport.peerreview.identity with parameters of type Continuation
 Cancellable CertificateManager.requestCertificate(Handle source, Identifier certHolder, Continuation<java.security.cert.X509Certificate,java.lang.Exception> c, java.util.Map<java.lang.String,java.lang.Object> options)
           
 Cancellable IdentityTransportLayerImpl.requestCertificate(Identifier source, I principal, Continuation<java.security.cert.X509Certificate,java.lang.Exception> c, java.util.Map<java.lang.String,java.lang.Object> options)
          CERT_REQUEST, int requestId, Identifier
 

Uses of Continuation in org.mpisws.p2p.transport.rendezvous
 

Methods in org.mpisws.p2p.transport.rendezvous with parameters of type Continuation
 Cancellable RendezvousStrategy.openChannel(Identifier target, Identifier rendezvous, Identifier source, int uid, Continuation<java.lang.Integer,java.lang.Exception> deliverResultToMe, java.util.Map<java.lang.String,java.lang.Object> options)
          Calls ChannelOpener.openChannel(dest, credentials) on target Possible exceptions to deliverResultToMe: NodeIsFaultyException if target is faulty UnableToConnectException if dest is faulty Called by: 1) Rendezvous if the target and source are NATted 2) Source if target is NATted, but source isn't Not called if the pilotFinder found a pilot for the target (in FreePastry this means that this will not be called if the target is in the leafSet).
 SocketRequestHandle<HighIdentifier> RendezvousTransportLayerImpl.openPilot(HighIdentifier i, Continuation<SocketRequestHandle<HighIdentifier>,java.lang.Exception> deliverAckToMe)
          Only used by NATted node.
 SocketRequestHandle<Identifier> PilotManager.openPilot(Identifier i, Continuation<SocketRequestHandle<Identifier>,java.lang.Exception> deliverAckToMe)
          Tells the manager to open a pilot to the Identifier
 

Uses of Continuation in org.mpisws.p2p.transport.ssl
 

Fields in org.mpisws.p2p.transport.ssl declared as Continuation
protected  Continuation<SSLSocketManager<Identifier>,java.lang.Exception> SSLSocketManager.c
           
 

Methods in org.mpisws.p2p.transport.ssl with parameters of type Continuation
protected  SSLSocketManager<Identifier> SSLTransportLayerImpl.getSocketManager(SSLTransportLayerImpl<Identifier,?> sslTL, P2PSocket<Identifier> s, Continuation<SSLSocketManager<Identifier>,java.lang.Exception> c, boolean server, boolean useClientAuth)
           
 

Constructors in org.mpisws.p2p.transport.ssl with parameters of type Continuation
SSLSocketManager(SSLTransportLayerImpl<Identifier,?> sslTL, P2PSocket<Identifier> s, Continuation<SSLSocketManager<Identifier>,java.lang.Exception> c, boolean server, boolean useClientAuth)
          Called on incoming side
 

Uses of Continuation in org.mpisws.p2p.transport.table
 

Methods in org.mpisws.p2p.transport.table with parameters of type Continuation
 Cancellable TableTransportLayer.requestValue(Identifier source, Key key, Continuation<Value,java.lang.Exception> c, java.util.Map<java.lang.String,java.lang.Object> options)
          Get a Value of the source.
 Cancellable TableTransprotLayerImpl.requestValue(Identifier source, Key principal, Continuation<Value,java.lang.Exception> c, java.util.Map<java.lang.String,java.lang.Object> options)
          REQUEST, int requestId, Key
 

Uses of Continuation in org.mpisws.p2p.transport.util
 

Constructors in org.mpisws.p2p.transport.util with parameters of type Continuation
BufferReader(P2PSocket<Identifier> socket, Continuation<java.nio.ByteBuffer,java.lang.Exception> continuation)
          Constructor for variable/unknown sized BB, it reads the size off the stream
BufferReader(P2PSocket<Identifier> socket, Continuation<java.nio.ByteBuffer,java.lang.Exception> continuation, int size)
          Constructor for fixed size BB
BufferReaderWriter(P2PSocket<Identifier> sock, java.nio.ByteBuffer writeMe, boolean writeSize, Continuation<java.nio.ByteBuffer,java.lang.Exception> c)
           
BufferReaderWriter(P2PSocket<Identifier> sock, java.nio.ByteBuffer writeMe, boolean writeSize, Continuation<java.nio.ByteBuffer,java.lang.Exception> c, int readSize)
           
BufferWriter(java.nio.ByteBuffer writeMe, P2PSocket<Identifier> socket, Continuation<P2PSocket<Identifier>,java.lang.Exception> continuation)
           
BufferWriter(java.nio.ByteBuffer writeMe, P2PSocket<Identifier> socket, Continuation<P2PSocket<Identifier>,java.lang.Exception> continuation, boolean includeSizeHeader)
           
 

Uses of Continuation in rice
 

Classes in rice that implement Continuation
static class Continuation.ErrorContinuation<R,E extends Exception>
          This class is a Continuation provided for simplicity which passes any results up to the parent Continuation which it is constructed with.
static class Continuation.ExternalContinuation<R,E extends Exception>
          This class provides a continuation which is designed to be used from an external thread.
static class Continuation.ListenerContinuation<R,E extends Exception>
          This class is a Continuation provided for simplicity which listens for any errors and ignores any success values.
static class Continuation.NamedContinuation
          Continuation class which takes a provided string as it's name, and returns that String when toString() is called.
static class Continuation.SimpleContinuation
          This class is a Continuation provided for simplicity which passes both results and exceptions to the receiveResult() method.
static class Continuation.StandardContinuation<R,E extends Exception>
          This class is a Continuation provided for simplicity which passes any errors up to the parent Continuation which it is constructed with.
 

Fields in rice declared as Continuation
protected  Continuation<R,E> Continuation.StandardContinuation.parent
          The parent continuation
protected  Continuation<R,E> Continuation.ErrorContinuation.parent
          The parent continuation
protected  Continuation Continuation.MultiContinuation.parent
           
protected  Continuation Continuation.NamedContinuation.parent
           
 

Methods in rice that return Continuation
 Continuation Continuation.MultiContinuation.getSubContinuation(int index)
          Returns the continuation which should be used as the result continuation for the index-th result.
 

Methods in rice with parameters of type Continuation
protected abstract  void Continuation.ExternalContinuationRunnable.execute(Continuation c)
           
protected  void Continuation.ExternalRunnable.execute(Continuation c)
           
 

Constructors in rice with parameters of type Continuation
Continuation.ErrorContinuation(Continuation<R,E> continuation)
          Constructor which takes in the parent continuation for this continuation.
Continuation.MultiContinuation(Continuation parent, int num)
          Constructor which takes a parent continuation as well as the number of results which to expect.
Continuation.NamedContinuation(java.lang.String name, Continuation command)
          Builds a new NamedContinuation given the name and the wrapped continuation
Continuation.StandardContinuation(Continuation<R,E> continuation)
          Constructor which takes in the parent continuation for this continuation.
 

Uses of Continuation in rice.environment.processing
 

Methods in rice.environment.processing with parameters of type Continuation
<R,E extends java.lang.Exception>
Cancellable
Processor.process(Executable<R,E> task, Continuation<R,E> command, int priority, SelectorManager selector, TimeSource ts, LogManager log)
          Schedules a job for processing on the dedicated processing thread.
<R,E extends java.lang.Exception>
Cancellable
Processor.process(Executable<R,E> task, Continuation<R,E> command, SelectorManager selector, TimeSource ts, LogManager log)
          Schedules a job for processing on the dedicated processing thread.
 

Constructors in rice.environment.processing with parameters of type Continuation
WorkRequest(Continuation<R,java.lang.Exception> c, SelectorManager sm)
           
 

Uses of Continuation in rice.environment.processing.sim
 

Methods in rice.environment.processing.sim with parameters of type Continuation
<R,E extends java.lang.Exception>
Cancellable
SimProcessor.process(Executable<R,E> task, Continuation<R,E> command, int priority, SelectorManager selector, TimeSource ts, LogManager log)
           
<R,E extends java.lang.Exception>
Cancellable
SimProcessor.process(Executable<R,E> task, Continuation<R,E> command, SelectorManager selector, TimeSource ts, LogManager log)
           
 

Uses of Continuation in rice.environment.processing.simple
 

Methods in rice.environment.processing.simple with parameters of type Continuation
<R,E extends java.lang.Exception>
Cancellable
SimpleProcessor.process(Executable<R,E> task, Continuation<R,E> command, int priority, SelectorManager selector, TimeSource ts, LogManager log)
           
<R,E extends java.lang.Exception>
Cancellable
SimpleProcessor.process(Executable<R,E> task, Continuation<R,E> command, SelectorManager selector, TimeSource ts, LogManager log)
          Schedules a job for processing on the dedicated processing thread.
 

Constructors in rice.environment.processing.simple with parameters of type Continuation
ProcessingRequest(Executable r, Continuation c, int priority, long seq, LogManager logging, TimeSource timeSource, SelectorManager selectorManager)
           
 

Uses of Continuation in rice.p2p.aggregation
 

Fields in rice.p2p.aggregation declared as Continuation
protected  Continuation AggregationImpl.flushWait
           
 

Methods in rice.p2p.aggregation with parameters of type Continuation
 void AggregationImpl.fetch(PastContentHandle handle, Continuation command)
           
 void Moraine.fetch(PastContentHandle handle, Continuation command)
           
 void Aggregation.flush(Continuation command)
          Creates aggregates from all objects in the local object cache.
 void AggregationImpl.flush(Continuation command)
           
 void Aggregation.flush(Id id, Continuation command)
          Creates an aggregate that includes the most current object with the specified key.
 void AggregationImpl.flush(Id id, Continuation command)
           
 void AggregationImpl.insert(PastContent obj, Continuation command)
           
 void Moraine.insert(PastContent obj, Continuation command)
           
 void AggregationImpl.insert(PastContent obj, long lifetime, Continuation command)
           
 void Moraine.insert(PastContent obj, long expiration, Continuation command)
           
 void AggregationImpl.lookup(Id id, boolean cache, Continuation command)
           
 void Moraine.lookup(Id id, boolean cache, Continuation command)
           
 void AggregationImpl.lookup(Id id, Continuation command)
           
 void Moraine.lookup(Id id, Continuation command)
           
 void AggregationImpl.lookup(Id id, long version, Continuation command)
           
 void Moraine.lookup(Id id, long version, Continuation command)
           
 void AggregationImpl.lookupHandle(Id id, NodeHandle handle, Continuation command)
           
 void Moraine.lookupHandle(Id id, NodeHandle handle, Continuation command)
           
 void AggregationImpl.lookupHandles(Id id, int max, Continuation command)
           
 void Moraine.lookupHandles(Id id, int max, Continuation command)
           
 void AggregationImpl.lookupHandles(Id id, long version, int max, Continuation command)
           
 void Moraine.lookupHandles(Id id, long version, int num, Continuation command)
           
 void AggregationImpl.refresh(Id[] ids, long[] expirations, Continuation command)
           
 void Moraine.refresh(Id[] ids, long[] expirations, Continuation command)
           
 void AggregationImpl.refresh(Id[] ids, long[] versions, long[] expirations, Continuation command)
           
 void Moraine.refresh(Id[] ids, long[] versions, long[] expirations, Continuation command)
           
 void AggregationImpl.refresh(Id[] ids, long expiration, Continuation command)
           
 void Moraine.refresh(Id[] ids, long expiration, Continuation command)
           
 void Aggregation.reset(Continuation command)
          Deletes all local state, including the aggregate list and all objects waiting in the local buffer.
 void AggregationImpl.reset(Continuation command)
           
 void Aggregation.rollback(Id id, Continuation command)
          Attempts to retrieve the most recent object that has been inserted by the local node under the specified key.
 void AggregationImpl.rollback(Id id, Continuation command)
           
 void Aggregation.setHandle(java.io.Serializable handle, Continuation command)
          Restores the handle object.
 void AggregationImpl.setHandle(java.io.Serializable handle, Continuation command)
           
 

Uses of Continuation in rice.p2p.commonapi
 

Methods in rice.p2p.commonapi with parameters of type Continuation
 void Endpoint.process(Executable task, Continuation command)
          Schedules a job for processing on the dedicated processing thread.
 

Uses of Continuation in rice.p2p.glacier
 

Methods in rice.p2p.glacier with parameters of type Continuation
 void VersioningPast.lookup(Id id, long version, Continuation command)
          Retrieves the object stored in this instance of Past with the given ID and the specified version.
 void VersioningPast.lookupHandles(Id id, long version, int num, Continuation command)
          Retrieves the handles of up to max replicas of the object stored in this instance of Past with the given ID.
 void VersioningPast.refresh(Id[] ids, long[] versions, long[] expirations, Continuation command)
          Updates the objects stored under the provided keys id to expire no earlier than the provided expiration time.
 

Uses of Continuation in rice.p2p.glacier.v2
 

Methods in rice.p2p.glacier.v2 with parameters of type Continuation
 void GlacierImpl.emptyTrash(Continuation c)
           
 void GlacierImpl.fetch(PastContentHandle handle, Continuation command)
           
 void GlacierImpl.insert(PastContent obj, Continuation command)
           
 void GlacierImpl.insert(PastContent obj, long expiration, Continuation command)
           
 void GlacierImpl.lookup(Id id, boolean cache, Continuation command)
           
 void GlacierImpl.lookup(Id id, Continuation command)
           
 void GlacierImpl.lookup(Id id, long version, Continuation command)
           
 void GlacierImpl.lookupHandle(Id id, NodeHandle handle, Continuation command)
           
 void GlacierImpl.lookupHandles(Id id, int num, Continuation command)
           
 void GlacierImpl.lookupHandles(Id id, long version, int num, Continuation command)
           
 void GlacierDefaultPolicy.prefetchLocalObject(VersionKey key, Continuation command)
           
 void GlacierPolicy.prefetchLocalObject(VersionKey key, Continuation command)
           
 void GlacierImpl.refresh(Id[] ids, long[] expirations, Continuation command)
           
 void GlacierImpl.refresh(Id[] ids, long[] versions, long[] expirations, Continuation command)
           
 void GlacierImpl.refresh(Id[] ids, long expiration, Continuation command)
           
 void GlacierImpl.retrieveManifest(VersionKey key, char tag, Continuation command)
           
 void GlacierImpl.retrieveObject(VersionKey key, Manifest manifest, boolean beStrict, char tag, Continuation c)
           
 

Uses of Continuation in rice.p2p.multiring
 

Methods in rice.p2p.multiring with parameters of type Continuation
 void MultiringEndpoint.process(Executable task, Continuation command)
          Schedules a job for processing on the dedicated processing thread.
 

Uses of Continuation in rice.p2p.past
 

Methods in rice.p2p.past that return Continuation
protected  Continuation PastImpl.getFetchResponseContinuation(PastMessage msg)
          Do like above, but use a socket
 Continuation[] PastImpl.getOutstandingMessages()
          Returns of the outstanding messages.
protected  Continuation PastImpl.getResponseContinuation(PastMessage msg)
          Returns a continuation which will respond to the given message.
 

Methods in rice.p2p.past with parameters of type Continuation
 void PastImpl.cache(PastContent content, Continuation command)
          Method which inserts the given object into the cache
protected  void PastImpl.doInsert(Id id, PastImpl.MessageBuilder builder, Continuation command, boolean useSocket)
          Internal method which actually performs an insert for a given object.
 void PastImpl.existsInOverlay(Id id, Continuation command)
           
 void PastPolicy.fetch(Id id, NodeHandle hint, Cache backup, Past past, Continuation command)
          This method is called when Past is told to fetch a key.
 void PastPolicy.DefaultPastPolicy.fetch(Id id, NodeHandle hint, Cache backup, Past past, Continuation command)
          This method fetches the object via a lookup() call.
 void PastImpl.fetch(Id id, NodeHandle hint, Continuation command)
          This upcall is invoked to tell the client to fetch the given id, and to call the given command with the boolean result once the fetch is completed.
 void Past.fetch(PastContentHandle handle, Continuation command)
          Retrieves the object associated with a given content handle.
 void PastImpl.fetch(PastContentHandle handle, Continuation command)
          Retrieves the object associated with a given content handle.
protected  void PastImpl.getHandles(Id id, int max, Continuation command)
          Internal method which returns the handles to an object.
 void PastImpl.insert(PastContent obj, Continuation command)
          Inserts an object with the given ID into this instance of Past.
 void Past.insert(PastContent obj, Continuation<java.lang.Boolean[],java.lang.Exception> command)
          Inserts an object with the given ID into this instance of Past.
 void Past.lookup(Id id, boolean cache, Continuation command)
          Retrieves the object stored in this instance of Past with the given ID.
 void PastImpl.lookup(Id id, boolean cache, Continuation command)
          Method which performs the same as lookup(), but allows the callee to specify if the data should be cached.
 void Past.lookup(Id id, Continuation<PastContent,java.lang.Exception> command)
          Retrieves the object stored in this instance of Past with the given ID.
 void PastImpl.lookup(Id id, Continuation<PastContent,java.lang.Exception> command)
          Retrieves the object stored in this instance of Past with the given ID.
 void Past.lookupHandle(Id id, NodeHandle handle, Continuation command)
          Retrieves the handle for the given object stored on the requested node.
 void PastImpl.lookupHandle(Id id, NodeHandle handle, Continuation command)
          Retrieves the handle for the given object stored on the requested node.
 void Past.lookupHandles(Id id, int max, Continuation command)
          Retrieves the handles of up to max replicas of the object stored in this instance of Past with the given ID.
 void PastImpl.lookupHandles(Id id, int max, Continuation command)
          Retrieves the handles of up to max replicas of the object stored in this instance of Past with the given ID.
 void PastImpl.reInsert(Id id, Continuation command)
           
 void PastImpl.remove(Id id, Continuation command)
          This upcall is to notify the client that the given id can be safely removed from the storage.
protected  void PastImpl.sendRequest(Id id, PastMessage message, Continuation command)
          Sends a request message across the wire, and stores the appropriate continuation.
protected  void PastImpl.sendRequest(Id id, PastMessage message, NodeHandle hint, Continuation command)
          Sends a request message across the wire, and stores the appropriate continuation.
protected  void PastImpl.sendRequest(NodeHandle handle, PastMessage message, Continuation command)
          Sends a request message across the wire, and stores the appropriate continuation.
 

Uses of Continuation in rice.p2p.past.gc
 

Methods in rice.p2p.past.gc with parameters of type Continuation
protected  void GCPastImpl.collect(java.util.SortedMap map, Continuation command)
          Internal method which collects all of the objects in the given set
 void GCPastImpl.existsInOverlay(Id id, Continuation command)
           
 void GCPastImpl.fetch(Id id, NodeHandle hint, Continuation command)
          This upcall is invoked to tell the client to fetch the given id, and to call the given command with the boolean result once the fetch is completed.
 void GCPast.insert(PastContent obj, Continuation command)
          Inserts an object with the given ID into this instance of Past.
 void GCPastImpl.insert(PastContent obj, Continuation command)
          Inserts an object with the given ID into this instance of Past.
 void GCPast.insert(PastContent obj, long expiration, Continuation command)
          Inserts an object with the given ID into this instance of Past.
 void GCPastImpl.insert(PastContent obj, long expiration, Continuation command)
          Inserts an object with the given ID into this instance of Past.
 void GCEndpoint.process(Executable task, Continuation command)
          Schedules a job for processing on the dedicated processing thread.
protected  void GCPastImpl.refresh(GCIdSet ids, Continuation command)
          Internal method which actually does the refreshing.
 void GCPast.refresh(Id[] ids, long[] expiration, Continuation command)
          Updates the objects stored under the provided keys id to expire no earlier than the provided expiration time.
 void GCPastImpl.refresh(Id[] array, long[] expirations, Continuation command)
          Updates the objects stored under the provided keys id to expire no earlier than the provided expiration time.
 void GCPast.refresh(Id[] ids, long expiration, Continuation command)
          Updates the objects stored under the provided keys id to expire no earlier than the provided expiration time.
 void GCPastImpl.refresh(Id[] array, long expiration, Continuation command)
          Updates the objects stored under the provided keys id to expire no earlier than the provided expiration time.
 void GCPastImpl.reInsert(Id id, Continuation command)
           
 void GCPastImpl.remove(Id id, Continuation command)
          This upcall is to notify the client that the given id can be safely removed from the storage.
 

Uses of Continuation in rice.p2p.past.gc.messaging
 

Classes in rice.p2p.past.gc.messaging that implement Continuation
 class GCInsertMessage
           
 class GCLookupHandlesMessage
           
 class GCRefreshMessage
           
 

Methods in rice.p2p.past.gc.messaging with parameters of type Continuation
 void GCCollectMessage.returnResponse(Continuation c, Environment env, java.lang.String instance)
          Method by which this message is supposed to return it's response - in this case, it lets the continuation know that a the message was lost via the receiveException method.
 

Uses of Continuation in rice.p2p.past.messaging
 

Classes in rice.p2p.past.messaging that implement Continuation
 class ContinuationMessage
           
 class FetchHandleMessage
           
 class FetchMessage
           
 class InsertMessage
           
 class LookupHandlesMessage
           
 class LookupMessage
           
 

Methods in rice.p2p.past.messaging with parameters of type Continuation
 void CacheMessage.returnResponse(Continuation c, Environment env, java.lang.String instance)
          Method by which this message is supposed to return it's response.
 void ContinuationMessage.returnResponse(Continuation c, Environment env, java.lang.String instance)
          Method by which this message is supposed to return it's response.
 void MessageLostMessage.returnResponse(Continuation c, Environment env, java.lang.String instance)
          Method by which this message is supposed to return it's response - in this case, it lets the continuation know that a the message was lost via the receiveException method.
abstract  void PastMessage.returnResponse(Continuation c, Environment env, java.lang.String instance)
          Method by which this message is supposed to return it's response.
 

Uses of Continuation in rice.p2p.past.testing
 

Classes in rice.p2p.past.testing that implement Continuation
protected  class PastRegrTest.TestCommand
          Common superclass for test commands.
protected  class PastRegrTest.TestExceptionCommand
          Common superclass for test commands which should throw an exception
protected  class RawPastRegrTest.TestCommand
          Common superclass for test commands.
protected  class RawPastRegrTest.TestExceptionCommand
          Common superclass for test commands which should throw an exception
 

Uses of Continuation in rice.p2p.replication.manager
 

Classes in rice.p2p.replication.manager that implement Continuation
protected  class ReplicationManagerImpl.ReplicationManagerDeleter
          Inner class which keeps track of the keys which we are currently deleting
 

Methods in rice.p2p.replication.manager with parameters of type Continuation
 void ReplicationManagerClient.existsInOverlay(Id id, Continuation command)
          This upcall should return whether or not the given id is currently stored somewhere in the overlay by the client.
 void ReplicationManagerClient.fetch(Id id, NodeHandle hint, Continuation command)
          This upcall is invoked to tell the client to fetch the given id, and to call the given command with the boolean result once the fetch is completed.
 void ReplicationManagerClient.reInsert(Id id, Continuation command)
          Asks a client to reinsert an object it already holds into the overlay
 void ReplicationManagerClient.remove(Id id, Continuation command)
          This upcall is to notify the client that the given id can be safely removed from the storage.
 

Uses of Continuation in rice.p2p.replication.manager.testing
 

Methods in rice.p2p.replication.manager.testing with parameters of type Continuation
 void ReplicationManagerRegrTest.TestReplicationManagerClient.existsInOverlay(Id id, Continuation command)
           
 void ReplicationManagerRegrTest.TestReplicationManagerClient.fetch(Id id, NodeHandle hint, Continuation command)
           
 void ReplicationManagerRegrTest.TestReplicationManagerClient.reInsert(Id id, Continuation command)
           
 void ReplicationManagerRegrTest.TestReplicationManagerClient.remove(Id id, Continuation command)
           
 

Uses of Continuation in rice.pastry
 

Methods in rice.pastry with parameters of type Continuation
 Cancellable NodeHandleFetcher.getNodeHandle(java.lang.Object o, Continuation<NodeHandle,java.lang.Exception> c)
           
 void PastryNode.getNodeHandle(java.lang.Object o, Continuation<NodeHandle,java.lang.Exception> c)
           
 void PastryNode.process(Executable task, Continuation command)
          Schedules a job for processing on the dedicated processing thread, should one exist.
 

Uses of Continuation in rice.pastry.commonapi
 

Methods in rice.pastry.commonapi with parameters of type Continuation
 void PastryEndpoint.process(Executable task, Continuation command)
          Schedules a job for processing on the dedicated processing thread.
 

Uses of Continuation in rice.pastry.direct
 

Methods in rice.pastry.direct with parameters of type Continuation
 CancellableTask DirectPastryNodeFactory.getLeafSet(NodeHandle handle, Continuation<LeafSet,java.lang.Exception> c)
           
 CancellableTask DirectPastryNodeFactory.getRouteRow(NodeHandle handle, int row, Continuation<RouteSet[],java.lang.Exception> c)
           
 

Uses of Continuation in rice.pastry.peerreview
 

Fields in rice.pastry.peerreview with type parameters of type Continuation
protected  java.util.Map<Id,Tuple<TimerTask,java.util.Collection<Continuation<java.util.Collection<NodeHandle>,java.lang.Exception>>>> FetchLeafsetApp.pendingLookups
           
 

Methods in rice.pastry.peerreview with parameters of type Continuation
 void FetchLeafsetApp.getNeighbors(Id subject, Continuation<java.util.Collection<NodeHandle>,java.lang.Exception> continuation)
          Add to the pendingLookups.
 

Uses of Continuation in rice.pastry.pns
 

Methods in rice.pastry.pns with parameters of type Continuation
protected  void PNSApplication.addToWaitingForLeafSet(NodeHandle handle, Continuation<LeafSet,java.lang.Exception> c, Cancellable cancelMeWhenSuccess)
           
protected  void PNSApplication.addToWaitingForRouteRow(NodeHandle handle, int row, Continuation<RouteSet[],java.lang.Exception> c, Cancellable cancelMeWhenSuccess)
           
 Cancellable PNSApplication.getLeafSet(NodeHandle handle, Continuation<LeafSet,java.lang.Exception> c)
          This method returns the remote leafset of the provided handle to the caller, in a protocol-dependent fashion.
 Cancellable PNSApplication.getNearest(NodeHandle seed, Continuation<java.util.Collection<NodeHandle>,java.lang.Exception> retToMe)
          This method implements the algorithm in the Pastry locality paper for finding a close node the the current node through iterative leafset and route row requests.
 Cancellable PNSApplication.getNearHandles(java.util.Collection<NodeHandle> bootHandles, Continuation<java.util.Collection<NodeHandle>,java.lang.Exception> deliverResultToMe)
           
 Cancellable PNSApplication.getProximity(NodeHandle handle, Continuation<java.lang.Integer,java.io.IOException> c, int timeout)
          Non-blocking version, no timeout.
 Cancellable PNSApplication.getRouteRow(NodeHandle handle, short row, Continuation<RouteSet[],java.lang.Exception> c)
          Non-blocking version.
protected  boolean PNSApplication.removeFromWaitingForLeafSet(NodeHandle handle, Continuation<LeafSet,java.lang.Exception> c)
           
protected  boolean PNSApplication.removeFromWaitingForRouteRow(NodeHandle handle, int row, Continuation<RouteSet[],java.lang.Exception> c)
           
 

Uses of Continuation in rice.pastry.socket
 

Methods in rice.pastry.socket with parameters of type Continuation
 void SocketPastryNodeFactory.getNodeHandle(java.net.InetSocketAddress[] bootstraps, Continuation<NodeHandle,java.lang.Exception> c)
           
protected  void SocketPastryNodeFactory.newNodeSelector(Id nodeId, MultiInetSocketAddress proxyAddress, Continuation<PastryNode,java.io.IOException> deliverResultToMe, java.util.Map<java.lang.String,java.lang.Object> initialVars)
          Only call this on the selector thread.
 

Uses of Continuation in rice.pastry.socket.appsocket
 

Methods in rice.pastry.socket.appsocket with parameters of type Continuation
 Cancellable SocketFactory.getAppSocket(java.net.InetSocketAddress addr, int appid, Continuation<AppSocket,java.lang.Exception> c, java.util.Map<java.lang.String,java.lang.Object> options)
           
 Cancellable SocketFactory.getSocketChannel(java.net.InetSocketAddress addr, int appid, Continuation<java.nio.channels.SocketChannel,java.lang.Exception> c, java.util.Map<java.lang.String,java.lang.Object> options)
           
 

Uses of Continuation in rice.pastry.socket.internet
 

Methods in rice.pastry.socket.internet with parameters of type Continuation
protected  void InternetPastryNodeFactory.findExternalAddress(Id nodeId, java.net.InetSocketAddress bindAddress, Continuation<PastryNode,java.io.IOException> deliverResultToMe)
          Finds the external address, calls openFirewallPort()
protected  void InternetPastryNodeFactory.findExternalAddressHelper(Id nodeId, java.net.InetSocketAddress bindAddress, Continuation<PastryNode,java.io.IOException> deliverResultToMe, java.util.Collection<java.net.InetSocketAddress> myProbeAddresses)
           
protected  void InternetPastryNodeFactory.findExternalNodes(Id nodeId, java.net.InetSocketAddress bindAddress, java.util.Collection<java.net.InetSocketAddress> nonInternetRoutable, Continuation<PastryNode,java.io.IOException> deliverResultToMe)
          Probe the internalAddresses to get more externalAddresses, then call findExternalAddressHelper
protected  void InternetPastryNodeFactory.newNodeSelector(Id nodeId, MultiInetSocketAddress proxyAddress, Continuation<PastryNode,java.io.IOException> deliverResultToMe, java.util.Map<java.lang.String,java.lang.Object> initialVars)
          This is where the action takes place.
protected  void InternetPastryNodeFactory.openFirewallPort(Id nodeId, java.net.InetSocketAddress bindAddress, Continuation<PastryNode,java.io.IOException> deliverResultToMe, java.net.InetAddress externalAddress, int requestedPort)
          Attempt to open the firewall on the specified port if it doesn't work, uses Rendezvous
protected  void InternetPastryNodeFactory.verifyConnectivityThenMakeNewNode(Id nodeId, MultiInetSocketAddress proxyAddress, Continuation<PastryNode,java.io.IOException> deliverResultToMe)
          Verifies the connectivity (if necessary), then calls super.newNodeSelector() if connectivity fails, then uses Rendezvous
 

Uses of Continuation in rice.pastry.socket.nat.connectivityverifiier
 

Methods in rice.pastry.socket.nat.connectivityverifiier with parameters of type Continuation
 Cancellable ConnectivityVerifier.findExternalAddress(java.net.InetSocketAddress local, java.util.Collection<java.net.InetSocketAddress> probeAddresses, Continuation<java.net.InetAddress,java.io.IOException> deliverResultToMe)
          Finds the external address by contacting a random member of the probeAddresses
 Cancellable ConnectivityVerifierImpl.findExternalAddress(java.net.InetSocketAddress local, java.util.Collection<java.net.InetSocketAddress> probeAddresses, Continuation<java.net.InetAddress,java.io.IOException> deliverResultToMe)
          Call this to determine your external address.
 void ConnectivityVerifierImpl.findExternalAddressHelper(InetSocketAddressLookup lookup, AttachableCancellable ret, java.net.InetSocketAddress local, java.util.List<java.net.InetSocketAddress> probeList, Continuation<java.net.InetAddress,java.io.IOException> deliverResultToMe)
          Called recursively.
 Cancellable ConnectivityVerifier.findExternalNodes(java.net.InetSocketAddress local, java.util.Collection<java.net.InetSocketAddress> probeAddresses, Continuation<java.util.Collection<java.net.InetSocketAddress>,java.io.IOException> deliverResultToMe)
          Finds known external nodes from other bootstrap nodes who are in your firewall
 Cancellable ConnectivityVerifierImpl.findExternalNodes(java.net.InetSocketAddress local, java.util.Collection<java.net.InetSocketAddress> probeAddresses, Continuation<java.util.Collection<java.net.InetSocketAddress>,java.io.IOException> deliverResultToMe)
          Call this to find some nodes outside your firewall.
 void ConnectivityVerifierImpl.findExternalNodesHelper(InetSocketAddressLookup lookup, AttachableCancellable ret, java.net.InetSocketAddress local, java.util.List<java.net.InetSocketAddress> probeList, Continuation<java.util.Collection<java.net.InetSocketAddress>,java.io.IOException> deliverResultToMe)
          Called recursively.
protected  Cancellable ConnectivityVerifierImpl.getInetSocketAddressLookup(java.net.InetSocketAddress bindAddress, Continuation<InetSocketAddressLookup,java.io.IOException> deliverResultToMe)
          Get the address from the transport layer.
 

Uses of Continuation in rice.pastry.socket.nat.probe
 

Methods in rice.pastry.socket.nat.probe with parameters of type Continuation
 Cancellable ProbeApp.requestProbe(MultiInetSocketAddress addr, long uid, Continuation<java.lang.Boolean,java.lang.Exception> deliverResultToMe)
          Send a ProbeRequestMessage to a node in the leafset.
 

Uses of Continuation in rice.pastry.socket.nat.rendezvous
 

Methods in rice.pastry.socket.nat.rendezvous with parameters of type Continuation
protected  void RendezvousJoinProtocol.getJoinRequest(NodeHandle b, Continuation<JoinRequest,java.lang.Exception> deliverJRToMe)
          Use RendezvousJoinRequest if local node is NATted
 Cancellable RendezvousPNSApplication.getLeafSet(NodeHandle input, Continuation<LeafSet,java.lang.Exception> c)
           
 Cancellable RendezvousPNSApplication.getNearest(NodeHandle seed, Continuation<java.util.Collection<NodeHandle>,java.lang.Exception> retToMe)
           
 Cancellable RendezvousPNSApplication.getNearHandles(java.util.Collection<NodeHandle> bootHandles, Continuation<java.util.Collection<NodeHandle>,java.lang.Exception> deliverResultToMe)
          This is the first step, cull out the bootHandles that we can't use good.
 Cancellable RendezvousPNSApplication.getProximity(NodeHandle handle, Continuation<java.lang.Integer,java.io.IOException> c, int timeout)
           
 Cancellable RendezvousPNSApplication.getRouteRow(NodeHandle input, short row, Continuation<RouteSet[],java.lang.Exception> c)
           
protected  boolean RendezvousPNSApplication.ignore(NodeHandle handle, Continuation c)
          This method decides who to bother trying to connect to.
 void RendezvousApp.isNatted(NodeHandle bootstrap, Continuation<java.net.InetSocketAddress,java.lang.Exception> receiveResult)
          Can be called before you boot, will tell you if you are Firewalled.
protected  void RendezvousSocketPastryNodeFactory.newNodeSelector(Id nodeId, MultiInetSocketAddress proxyAddress, Continuation<PastryNode,java.io.IOException> deliverResultToMe, java.util.Map<java.lang.String,java.lang.Object> initialVars, boolean firewalled)
          Can override the contactState on a per-node basis
protected  void RendezvousSocketPastryNodeFactory.newNodeSelector(Id nodeId, MultiInetSocketAddress proxyAddress, Continuation<PastryNode,java.io.IOException> deliverResultToMe, java.util.Map<java.lang.String,java.lang.Object> initialVars, byte contactState)
          Can override the contactState on a per-node basis
 Cancellable RendezvousApp.openChannel(RendezvousSocketNodeHandle target, RendezvousSocketNodeHandle rendezvous, RendezvousSocketNodeHandle source, int uid, Continuation<java.lang.Integer,java.lang.Exception> deliverAckToMe, java.util.Map<java.lang.String,java.lang.Object> options)
           
 

Uses of Continuation in rice.pastry.standard
 

Methods in rice.pastry.standard with parameters of type Continuation
protected  void StandardJoinProtocol.getJoinRequest(NodeHandle bootstrap, Continuation<JoinRequest,java.lang.Exception> deliverJRToMe)
           
 Cancellable ProximityNeighborSelector.getNearHandles(java.util.Collection<NodeHandle> bootHandles, Continuation<java.util.Collection<NodeHandle>,java.lang.Exception> deliverResultToMe)
           
 

Uses of Continuation in rice.persistence
 

Methods in rice.persistence with parameters of type Continuation
 void Cache.cache(Id id, java.io.Serializable metadata, java.io.Serializable obj, Continuation c)
          Caches an object in this storage.
 void EmptyCache.cache(Id id, java.io.Serializable metadata, java.io.Serializable obj, Continuation c)
          Caches an object in this storage.
 void LRUCache.cache(Id id, java.io.Serializable metadata, java.io.Serializable obj, Continuation c)
          Caches an object in this storage.
 void StorageManagerImpl.cache(Id id, java.io.Serializable metadata, java.io.Serializable obj, Continuation c)
          Caches an object in this storage.
 void Catalog.flush(Continuation c)
          Method which is used to erase all data stored in the Catalog.
 void EmptyCache.flush(Continuation c)
          Method which is used to erase all data stored in the Catalog.
 void LRUCache.flush(Continuation c)
          Method which is used to erase all data stored in the Cache.
 void MemoryStorage.flush(Continuation c)
          Method which is used to erase all data stored in the Storage.
 void PersistentStorage.flush(Continuation c)
          Method which is used to erase all data stored in the Catalog.
 void StorageManagerImpl.flush(Continuation c)
          Method which is used to erase all data stored in the Catalog.
 void Catalog.getObject(Id id, Continuation c)
          Returns the object identified by the given id, or null if there is no corresponding object (through receiveResult on c).
 void EmptyCache.getObject(Id id, Continuation c)
          Returns the object identified by the given id.
 void LRUCache.getObject(Id id, Continuation c)
          Returns the object identified by the given id.
 void MemoryStorage.getObject(Id id, Continuation c)
          Returns the object identified by the given id, or null if there is no cooresponding object (through receiveResult on c).
 void PersistentStorage.getObject(Id id, Continuation c)
          Returns the object identified by the given id.
 void StorageManagerImpl.getObject(Id id, Continuation c)
          Returns the object identified by the given id, or null if there is no cooresponding object (through receiveResult on c).
 void LockManager.lock(Id id, Continuation c)
           
 void LockManagerImpl.lock(Id id, Continuation c)
           
 void Catalog.rename(Id oldId, Id newId, Continuation c)
          Renames the given object to the new id.
 void EmptyCache.rename(Id oldId, Id newId, Continuation c)
          Renames the given object to the new id.
 void LRUCache.rename(Id oldId, Id newId, Continuation c)
          Renames the given object to the new id.
 void MemoryStorage.rename(Id oldId, Id newId, Continuation c)
          Renames the given object to the new id.
 void PersistentStorage.rename(Id oldId, Id newId, Continuation c)
          Renames the given object to the new id.
 void StorageManagerImpl.rename(Id oldId, Id newId, Continuation c)
          Renames the given object to the new id.
 void Cache.setMaximumSize(int size, Continuation c)
          Sets the maximum size of the cache, in bytes.
 void EmptyCache.setMaximumSize(int size, Continuation c)
          Sets the maximum size of the cache, in bytes.
 void LRUCache.setMaximumSize(int size, Continuation c)
          Sets the maximum size of the cache, in bytes.
 void StorageManagerImpl.setMaximumSize(int size, Continuation c)
          Sets the maximum size of the cache, in bytes.
 void Catalog.setMetadata(Id id, java.io.Serializable metadata, Continuation command)
          Updates the metadata stored under the given key to be the provided value.
 void EmptyCache.setMetadata(Id id, java.io.Serializable metadata, Continuation c)
          Updates the metadata stored under the given key to be the provided value.
 void LRUCache.setMetadata(Id id, java.io.Serializable metadata, Continuation command)
          Updates the metadata stored under the given key to be the provided value.
 void MemoryStorage.setMetadata(Id id, java.io.Serializable metadata, Continuation command)
          Updates the metadata stored under the given key to be the provided value.
 void PersistentStorage.setMetadata(Id id, java.io.Serializable metadata, Continuation c)
          Updates the metadata stored under the given key to be the provided value.
 void StorageManagerImpl.setMetadata(Id id, java.io.Serializable metadata, Continuation command)
          Updates the metadata stored under the given key to be the provided value.
 void MemoryStorage.store(Id id, java.io.Serializable metadata, java.io.Serializable obj, Continuation c)
          Stores the object under the key id.
 void PersistentStorage.store(Id id, java.io.Serializable metadata, java.io.Serializable obj, Continuation c)
          Makes the object persistent to disk and stored permanantly If the object is already persistent, this method will simply update the object's serialized image.
 void Storage.store(Id id, java.io.Serializable metadata, java.io.Serializable obj, Continuation c)
          Stores an object in this storage.
 void StorageManagerImpl.store(Id id, java.io.Serializable metadata, java.io.Serializable obj, Continuation c)
          Stores an object in this storage.
 void Cache.uncache(Id id, Continuation c)
          Removes the object from the list of cached objects.
 void EmptyCache.uncache(Id id, Continuation c)
          Removes the object from the list of cached objects.
 void LRUCache.uncache(Id id, Continuation c)
          Removes the object from the list of cached objects.
 void StorageManagerImpl.uncache(Id id, Continuation c)
          Removes the object from the list of cached objects.
 void MemoryStorage.unstore(Id id, Continuation c)
          Removes the object from the list of stored objects.
 void PersistentStorage.unstore(Id id, Continuation c)
          Request to remove the object from the list of persistend objects.
 void Storage.unstore(Id id, Continuation c)
          Removes the object from the list of stored objects.
 void StorageManagerImpl.unstore(Id id, Continuation c)
          Removes the object from the list of stored objects.
 

Uses of Continuation in rice.persistence.testing
 

Methods in rice.persistence.testing with parameters of type Continuation
 void LRUCacheTest.setUp(Continuation c)
           
 void MemoryStorageTest.setUp(Continuation c)
           
 void MemoryStorageTest.testExists(Continuation c)
           
 void MemoryStorageTest.testRetreival(Continuation c)
           
 

Uses of Continuation in rice.tutorial.lookup
 

Methods in rice.tutorial.lookup with parameters of type Continuation
 void LookupService.requestNodeHandle(Id id, Continuation<NodeHandle,java.lang.Exception> cont)
          Find the primary replica of a key.
 void LookupService.requestNodeHandles(Id id, int num, Continuation<NodeHandleSet,java.lang.Exception> cont)
          Requests a replicaSet from a node across the ring.
protected  void LookupService.sendMessage(int seq, Id id, int num, Continuation<NodeHandleSet,java.lang.Exception> cont, long timeout)
          This does the internal processing for requestNodeHandle(s).
protected  void LookupService.sendMessageWithRetries(Id id, int num, Continuation<NodeHandleSet,java.lang.Exception> cont)
           
 

Uses of Continuation in rice.tutorial.rawserialization2
 

Classes in rice.tutorial.rawserialization2 that implement Continuation
 class MyMsg
          An example message.
 


Rice Pastry API

Copyright © 2001-2005 - Rice Pastry.


Imprint-Dataprotection