Skip to content

Class skydata::internal::agents::SKD

ClassList > skydata > internal > agents > SKD

More...

Inherits the following classes: skydata::internal::agents::SKAgent

Public Attributes

Type Name
Set< SKAID > crashedFamilyMembers = new HashSet&lt;&gt;()
Set< SKAID > deletedFamilyMembers = new HashSet&lt;&gt;()
int lastReplicateIndex = 0

Public Attributes inherited from skydata::internal::agents::SKAgent

See skydata::internal::agents::SKAgent

Type Name
Map< String, Object > args = null
Boolean inDebug = false
int size
long startingDate = 0

Public Functions

Type Name
SKD ()
void addFamily (SKAID aid)
void afterClone ()
void afterMove ()
void blockReplicate ()
void broadcastFamily (SKLMessage message, Boolean sendReliably)
void broadcastFamily (SKLMessage message)
boolean canReplicate ()
void clone (AID harbour, String name)
Map< SKAID, LocalDateTime > createLastReceived (Set< SKAID > family)
void doClone (Location loc, String newName)
Set< SKAID > getDeletedFamilyMembers ()
Set< SKAID > getFamily ()
Set< SKAID > getFamilySameHarbour ()
int getFamilySize ()
String getFamilyString ()
void mergeWithDeletedFamilyMembers (Set< SKAID > agents)
void mergeWithFamily (Set< SKAID > agents)
void removeFromFamily (SKAID aid)
void removeFromFamily (Set< SKAID > aids)
SKLMessage skReceive (MessageTemplate mt)
void suspectMemberFamily (SKAID suspected, LocalDateTime date)
void unblockReplicate ()
void unsuspectMemberFamily (SKAID unsuspected)
void updatePositionFamily (SKAID m)

Public Functions inherited from skydata::internal::agents::SKAgent

See skydata::internal::agents::SKAgent

Type Name
void addBehaviour (Behaviour wakerBehaviour)
final void addInternalUpdate (String type, SKAgentBehaviour b)
void afterClone ()
void afterMove ()
void blockMigrate ()
void broadcast (BroadcastI broadCaster, SKLMessage message, Set< SKAID > agents)
boolean canMigrate ()
Set< SKAID > connectedHarbours ()
final void createStorageObject (String property, Serializable value)
void debug (String s)
void delete ()
void doClone (Location loc, String newName)
void doMove (Location loc)
HashMap< SKAID, HashMap< String, Comparable > > getHarboursStats ()
HashMap< String, HashMap< String, SKLMessage > > getMsgInfoBF ()
final SKAID getRealSKAID ()
HashMap< String, HashMap< String, Long > > getReceivedMsgs ()
final SKAID getSKAID ()
long getStartingDate ()
final Serializable getStorageObject (String property)
final boolean hasStorageObject (String property)
void migrate (AID harbour)
void migrate (AID harbour, boolean forced)
SKAID myHarbour ()
void print (String s)
void setMsgInfoBF (HashMap< String, HashMap< String, SKLMessage > > inf)
SKLMessage skReceive (MessageTemplate mt)
void skSendNormal (SKLMessage msg)
void skSendReliable (SKLMessage msg)
void unblockMigrate ()

Protected Attributes

Type Name
Set< SKAID > family = new HashSet&lt;&gt;()
int nbBlockingReplicate = 0
HashMap< SKAID, LocalDateTime > suspectedFamily = new HashMap&lt;&gt;()

Protected Attributes inherited from skydata::internal::agents::SKAgent

See skydata::internal::agents::SKAgent

Type Name
Set< SKAID > harbours
HashMap< SKAID, HashMap< String, Comparable > > harboursStats = new HashMap&lt;SKAID, HashMap&lt;String, Comparable&gt;&gt;()
Boolean inMigration
Set< SKAID > membersHarbour = new HashSet&lt;SKAID&gt;()
SKAID myAID
int nbBlockingMigrate = 0

Protected Functions

Type Name
String getNextReplicateIndex ()
void reset ()
void setup ()
void setupFamily ()

Protected Functions inherited from skydata::internal::agents::SKAgent

See skydata::internal::agents::SKAgent

Type Name
void beforeMove ()
final void internalUpdate (String type, Object o)
final void internalUpdate (String type)
void reset ()
void run (String action)
void setup ()
void setupStats ()

Detailed Description

This class represent a SKD.

A SKD is composed by : * A family (groups of replicas) * Data and metadata

A SKD can also decide to replicate itself.

Public Attributes Documentation

variable crashedFamilyMembers

Set<SKAID> skydata.internal.agents.SKD.crashedFamilyMembers;

List of family members detected as failed


variable deletedFamilyMembers

Set<SKAID> skydata.internal.agents.SKD.deletedFamilyMembers;

List of family members which are delete themselves


variable lastReplicateIndex

int skydata.internal.agents.SKD.lastReplicateIndex;

The last index of its replicas


Public Functions Documentation

function SKD

inline skydata::internal::agents::SKD::SKD () 

Construct a new SKD


function addFamily

inline void skydata::internal::agents::SKD::addFamily (
    SKAID aid
) 

Add a SKD to the family

Parameters:

  • aid : the new family member

function afterClone

inline void skydata::internal::agents::SKD::afterClone () 

Function called after a completed replication

Implements skydata::internal::agents::SKAgent::afterClone


function afterMove

inline void skydata::internal::agents::SKD::afterMove () 

Function called after a completed migration

Implements skydata::internal::agents::SKAgent::afterMove


function blockReplicate

inline void skydata::internal::agents::SKD::blockReplicate () 

Block temporarily the replication of the SKD


function broadcastFamily [1/2]

inline void skydata::internal::agents::SKD::broadcastFamily (
    SKLMessage message,
    Boolean sendReliably
) 

Broadcast a message to all family members

Parameters:

  • message : the message to send
  • sendReliably : true if the message must be send reliably, else false

function broadcastFamily [2/2]

inline void skydata::internal::agents::SKD::broadcastFamily (
    SKLMessage message
) 

Broadcast reliably a message to all family members

Parameters:

  • message : the message to send

function canReplicate

inline boolean skydata::internal::agents::SKD::canReplicate () 

Check if the SKD can replicate

Returns:

true if the SKD can replicate, else false


function clone

inline void skydata::internal::agents::SKD::clone (
    AID harbour,
    String name
) 

Function to call to initiate a replication on a target harbour

Parameters:

  • harbour : the target harbour
  • name : the name of the replicas

function createLastReceived

inline Map< SKAID, LocalDateTime > skydata::internal::agents::SKD::createLastReceived (
    Set< SKAID > family
) 

Initialize the received heartbeat

Parameters:

  • family : current family members

Returns:

the list of latest received heartbeat


function doClone

inline void skydata::internal::agents::SKD::doClone (
    Location loc,
    String newName
) 

Function called when the replication starts

Implements skydata::internal::agents::SKAgent::doClone


function getDeletedFamilyMembers

inline Set< SKAID > skydata::internal::agents::SKD::getDeletedFamilyMembers () 

Get the list of deleted family members

Returns:

the deleted members


function getFamily

inline Set< SKAID > skydata::internal::agents::SKD::getFamily () 

Get the list of family members

Returns:

the current members


function getFamilySameHarbour

inline Set< SKAID > skydata::internal::agents::SKD::getFamilySameHarbour () 

Get the list of family members on the same Harbour

Returns:

a list of SKD


function getFamilySize

inline int skydata::internal::agents::SKD::getFamilySize () 

Get the number of family members

Returns:

the size of the family


function getFamilyString

inline String skydata::internal::agents::SKD::getFamilyString () 

Get the string representation of a family

Example : [(LULU@Harbour : http://example.fr:8000), (LULU.1@Harbour : http://example2.fr:8000)]

Returns:

the string representation


function mergeWithDeletedFamilyMembers

inline void skydata::internal::agents::SKD::mergeWithDeletedFamilyMembers (
    Set< SKAID > agents
) 

Merge two sets of agents to store the deleted members

Parameters:

  • agents : the set to merge

function mergeWithFamily

inline void skydata::internal::agents::SKD::mergeWithFamily (
    Set< SKAID > agents
) 

Merge two sets of agents and update the position if needed

Parameters:

  • agents : the set to merge

function removeFromFamily [1/2]

inline void skydata::internal::agents::SKD::removeFromFamily (
    SKAID aid
) 

Remove a SKD from the family

Parameters:

  • aid : the SKD to remove

function removeFromFamily [2/2]

inline void skydata::internal::agents::SKD::removeFromFamily (
    Set< SKAID > aids
) 

Remove a list of SKD from the family

Parameters:

  • aids : the list to remove

function skReceive

inline SKLMessage skydata::internal::agents::SKD::skReceive (
    MessageTemplate mt
) 

Function to call to receive a message according a template

Parameters:

  • mt : the template that the message must match

Returns:

a message or null

Implements skydata::internal::agents::SKAgent::skReceive


function suspectMemberFamily

inline void skydata::internal::agents::SKD::suspectMemberFamily (
    SKAID suspected,
    LocalDateTime date
) 

Function to call to suspect a family member of failure

Parameters:

  • suspected : the suspected family member
  • date : the date of the suspicion

function unblockReplicate

inline void skydata::internal::agents::SKD::unblockReplicate () 

Unblock the replication of the SKD


function unsuspectMemberFamily

inline void skydata::internal::agents::SKD::unsuspectMemberFamily (
    SKAID unsuspected
) 

Function to call to unsuspect a family member of failure

Parameters:

  • unsuspected : the unsuspected family member

function updatePositionFamily

inline void skydata::internal::agents::SKD::updatePositionFamily (
    SKAID m
) 

Update the position of a family member

Parameters:

  • m : the family with its new address

Protected Attributes Documentation

variable family

Set<SKAID> skydata.internal.agents.SKD.family;

List of family members


variable nbBlockingReplicate

int skydata.internal.agents.SKD.nbBlockingReplicate;

If this value is greater than 0 then the SKD cannot replicate


variable suspectedFamily

HashMap<SKAID, LocalDateTime> skydata.internal.agents.SKD.suspectedFamily;

List of family members suspected as failed


Protected Functions Documentation

function getNextReplicateIndex

inline String skydata::internal::agents::SKD::getNextReplicateIndex () 

Return the next replication index


function reset

inline void skydata::internal::agents::SKD::reset () 

Reset a SKD

Implements skydata::internal::agents::SKAgent::reset


function setup

inline void skydata::internal::agents::SKD::setup () 

Initialize a SKD

Implements skydata::internal::agents::SKAgent::setup


function setupFamily

inline void skydata::internal::agents::SKD::setupFamily () 

Setup the family member management



The documentation for this class was generated from the following file /home/maxime/Desktop/skd_proto_v2/skd/src/main/java/skydata/internal/agents/SKD.java