Class
Tree
          
SUMMARY: INNER | FIELD | CONSTR | METHODDETAIL: FIELD | CONSTR | METHOD
 

com.newstep.solid.replication
Class Replicant
Direct Known Subclasses:
       ReplicantServer

public abstract class Replicant      
Author:
dpetroni
Abstract.
 
Links:
Kernel Association Association Link
to Class ReplicationStrategy
Associates type:
association
Client cardinality:
1
Client navigability:
NOT NAVIGABLE
Client visibility:
private
Supplier cardinality:
1
Supplier navigability:
NAVIGABLE
Supplier visibility:
private
 
Kernel Association Association Link
to Interface ReplicationTarget
Associates type:
aggregation
Client cardinality:
1
Client navigability:
NOT NAVIGABLE
Client visibility:
private
Directed.
Supplier cardinality:
1
Supplier navigability:
NAVIGABLE
Supplier visibility:
private
Custom properties
link:
aggregation
 
 

Nested Class Summary
protected class
Field Summary
long
String
long
private HashMap
final static String
private HashMap
private boolean
final static Logger
private long
private int
protected ConcurrentHashMap
private long
private String
Constructor Summary
protected void
Method Summary
protected final void
activate(Long clientReplicantId)
protected final void
activate(Long clientReplicantId, Integer capsuleId)
protected final void
protected final void
addClient(Long clientReplicantId)
protected abstract void
protected void
public void
run()
protected void
public long
public long
public String
protected final void
protected abstract void
protected final void
public void
public void
public void
public void
setServerReplicantId(Long serverReplicantId)
public void
setServiceName(String serviceName)
protected final void
update(Capsule newState)
Field Detail
activeClients
private HashMap activeClients
Multiplicity:
1
Custom properties
associates:
com.newstep.replication.Replicated
 

className
final static String className
Final.
Multiplicity:
1
Static.
 

clients
private HashMap clients
Multiplicity:
1
Custom properties
associates:
com.newstep.solid.test.replication.Capsule
 

immediateActivation
private boolean immediateActivation
Multiplicity:
1
 

logger
final static Logger logger
Final.
Multiplicity:
1
Static.
 

replicantId
long replicantId
 

replicantId
private long replicantId
Multiplicity:
1
 

replicatedId
private int replicatedId
Multiplicity:
1
 

replicatedObjects
protected ConcurrentHashMap replicatedObjects
Multiplicity:
1
 

replicationStrategy
ReplicationStrategy replicationStrategy
 

replicationStrategy
private ReplicationStrategy replicationStrategy
Multiplicity:
1
 

replicationTarget
ReplicationTarget replicationTarget
 

replicationTarget
private ReplicationTarget replicationTarget
Multiplicity:
1
 

serverReplicantId
private long serverReplicantId
Multiplicity:
1
 

serverReplicantId
long serverReplicantId
 

serviceName
private String serviceName
Multiplicity:
1
 

serviceName
String serviceName
 
Constructor Detail
Replicant
protected void Replicant ()
 
Stereotype:
create
 
Method Detail
activate
protected final void activate (Long clientReplicantId)
 
Activate all replicated objects originating from the remote replicant
idenfied by its id. This is invoked when the remote replicant fails and
this replicant is instructed to take over
Parameters:
clientReplicantId
Final.
 

activate
protected final void activate (Long clientReplicantId, Integer capsuleId)
 
Activate a single replicated object
Parameters:
clientReplicantId
capsuleId
Final.
 

addActive
protected final void addActive (Replicated obj)
 
Final.
 

addClient
protected final void addClient (Long clientReplicantId)
 
Final.
 

addReplicatedObject
protected abstract void addReplicatedObject (Replicated obj)
 
Abstract.
 

clearDirtyBacklog
protected void clearDirtyBacklog ()
 
 
 

dirtyContents
protected void dirtyContents ()
 
 
 

getReplicantId
public long getReplicantId ()
 
IMPORTANT: replicant ids are longs consisting of the replicator id in the
upper 32 bits and a unique integer in the lower 32 bits
Return:
Returns the replicantId.
 

getReplicationStrategy
public ReplicationStrategy getReplicationStrategy ()
 
 

getReplicationTarget
public ReplicationTarget getReplicationTarget ()
 
 

getServerReplicantId
public long getServerReplicantId ()
 
 

getServiceName
public String getServiceName ()
 
Get the unique name of the service this replicant provides. This name is
used when advertising or requesting for replication
Return:
Returns the serviceName.
 

removeActive
protected final void removeActive (Replicated obj)
 
Final.
 

removeReplicatedObject
protected abstract void removeReplicatedObject (Replicated obj)
 
Abstract.
 

replicate
protected final void replicate (Replicated source)
 
Parameters:
source
Final.
 

setReplicantId
public void setReplicantId (Long id)
 
IMPORTANT: replicant ids are longs consisting of the replicator id in the
upper 32 bits and a unique integer in the lower 32 bits

This operation is ment to be invoked only from the Replicator. Only
replicator can determine the proper id for the replicant
Parameters:
id
 

setReplicationStrategy
public void setReplicationStrategy (ReplicationStrategy replicationStrategy)
 
 

setReplicationTarget
public void setReplicationTarget (ReplicationTarget replicationTarget)
 
 

setServerReplicantId
public void setServerReplicantId (Long serverReplicantId)
 
 

setServiceName
public void setServiceName (String serviceName)
 
Set the unique name of the service this replicant provides. This name
will be used when advertising or requesting for replication
Parameters:
serviceName
The serviceName to set.
 

update
protected final void update (Capsule newState)
 
Parameters:
newState
Final.
 

Class
Tree
          
SUMMARY: INNER | FIELD | CONSTR | METHODDETAIL: FIELD | CONSTR | METHOD