| 
 | Apache Tomcat 6.0.53 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
public interface ReplicatedMapEntry
For smarter replication, an object can implement this interface to replicate diffs
 The replication logic will call the methods in the following order:
 
 1. if ( entry.isDirty() ) 
 
      try {
 2.     entry.lock();
 3.     byte[] diff = entry.getDiff();
 4.     entry.reset();
      } finally {
 5.     entry.unlock();
      }
    }
 
 
 When the data is deserialized the logic is called in the following order
 
 1. ReplicatedMapEntry entry = (ReplicatedMapEntry)objectIn.readObject();
 
 2. if ( isBackup(entry)||isPrimary(entry) ) entry.setOwner(owner); 
 
| Method Summary | |
|---|---|
|  void | applyDiff(byte[] diff,
          int offset,
          int length)Applies a diff to an existing object. | 
|  byte[] | getDiff()Returns a diff and sets the dirty map to false | 
|  long | getVersion()For accuracy checking, a serialized attribute can contain a version number This number increases as modifications are made to the data. | 
|  boolean | isDiffable()If this returns true, the map will extract the diff using getDiff() Otherwise it will serialize the entire object. | 
|  boolean | isDirty()Has the object changed since last replication and is not in a locked state | 
|  void | lock()Lock during serialization | 
|  void | resetDiff()Resets the current diff state and resets the dirty flag | 
|  void | setOwner(java.lang.Object owner)This method is called after the object has been created on a remote map. | 
|  void | setVersion(long version)Forces a certain version to a replicated map entry | 
|  void | unlock()Unlock after serialization | 
| Method Detail | 
|---|
boolean isDirty()
boolean isDiffable()
byte[] getDiff()
               throws java.io.IOException
java.io.IOException
void applyDiff(byte[] diff,
               int offset,
               int length)
               throws java.io.IOException,
                      java.lang.ClassNotFoundException
diff - byte[]offset - intlength - int
java.io.IOException
java.lang.ClassNotFoundExceptionvoid resetDiff()
void lock()
void unlock()
void setOwner(java.lang.Object owner)
owner - Objectlong getVersion()
void setVersion(long version)
version - long| 
 | Apache Tomcat 6.0.53 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||