|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jgroups.stack.Protocol org.jgroups.protocols.PDC
public class PDC
Persistent Discovery Cache. Caches mapping between logical and physical addresses on disk, merges them with the results of the get physical address(es) events. This is done by intercepting the get and set physical address(es) event. Needs to be placed between the transport and the discovery protocol. The disk cache stores each mapping in a separate file, named by the logical address.
Nested Class Summary | |
---|---|
protected static class |
PDC.Mapping
|
Field Summary | |
---|---|
protected java.util.concurrent.ConcurrentMap<Address,PhysicalAddress> |
cache
|
protected java.lang.String |
cache_dir
|
protected java.io.FilenameFilter |
filter
|
protected Address |
local_addr
|
protected java.io.File |
root_dir
|
protected static java.lang.String |
SUFFIX
|
Fields inherited from class org.jgroups.stack.Protocol |
---|
down_prot, ergonomics, id, log, name, stack, stats, up_prot |
Constructor Summary | |
---|---|
PDC()
|
Method Summary | |
---|---|
protected static java.lang.String |
addressAsString(Address address)
|
protected void |
createDiskCacheFile()
|
protected boolean |
deleteFile(java.io.File file)
Attempts to delete the provided file. Logging is performed on the result |
java.lang.Object |
down(Event evt)
An event is to be sent down the stack. |
void |
init()
Called after instance has been created (null constructor) and before protocol is started. |
java.lang.String |
printCache()
|
protected void |
readCacheFromDisk()
Reads all mappings from disk |
protected void |
removeNodeFromDisk(Address logical_addr)
|
protected void |
writeNodeToDisk(Address logical_addr,
PhysicalAddress physical_addr)
|
protected java.io.File |
writeToTempFile(java.io.File dir,
Address logical_addr,
Address physical_addr,
java.lang.String logical_name)
Writes the data to a temporary file. The file is stored in the same directory as the other cluster files but is given the .tmp suffix |
Methods inherited from class org.jgroups.stack.Protocol |
---|
destroy, dumpStats, enableStats, getConfigurableObjects, getDownProtocol, getDownServices, getId, getIdsAbove, getLevel, getName, getProtocolStack, getSocketFactory, getThreadFactory, getTransport, getUpProtocol, getUpServices, getValue, isErgonomics, printStats, providedDownServices, providedUpServices, requiredDownServices, requiredUpServices, resetStatistics, resetStats, setDownProtocol, setErgonomics, setId, setLevel, setProtocolStack, setSocketFactory, setUpProtocol, setValue, setValues, start, statsEnabled, stop, up |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final java.util.concurrent.ConcurrentMap<Address,PhysicalAddress> cache
protected java.lang.String cache_dir
protected static final java.lang.String SUFFIX
protected java.io.File root_dir
protected java.io.FilenameFilter filter
protected Address local_addr
Constructor Detail |
---|
public PDC()
Method Detail |
---|
public java.lang.String printCache()
public void init() throws java.lang.Exception
Protocol
init
in class Protocol
java.lang.Exception
- Thrown if protocol cannot be initialized successfully. This will cause the
ProtocolStack to fail, so the channel constructor will throw an exceptionpublic java.lang.Object down(Event evt)
Protocol
down_prot.down()
. In case of a GET_ADDRESS event (which tries to
retrieve the stack's address from one of the bottom layers), the layer may need to send
a new response event back up the stack using up_prot.up()
.
down
in class Protocol
protected void createDiskCacheFile() throws java.io.IOException
java.io.IOException
protected void readCacheFromDisk()
protected void writeNodeToDisk(Address logical_addr, PhysicalAddress physical_addr)
protected java.io.File writeToTempFile(java.io.File dir, Address logical_addr, Address physical_addr, java.lang.String logical_name) throws java.lang.Exception
dir
- The disk cache root dirlogical_addr
- The logical addressphysical_addr
- The physical address
java.lang.Exception
protected void removeNodeFromDisk(Address logical_addr)
protected static java.lang.String addressAsString(Address address)
protected boolean deleteFile(java.io.File file)
file
-
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |