org.inria.myriads.snoozenode.database.api.impl
Class GroupLeaderMemoryRepository

java.lang.Object
  extended by org.inria.myriads.snoozenode.database.api.impl.GroupLeaderMemoryRepository
All Implemented Interfaces:
GroupLeaderRepository

public final class GroupLeaderMemoryRepository
extends Object
implements GroupLeaderRepository

Group leader in-memory repository.

Author:
Eugen Feller

Constructor Summary
GroupLeaderMemoryRepository(String virtualMachineSubnet, int maxCapacity)
          Constructor.
 
Method Summary
 boolean addGroupManagerDescription(org.inria.myriads.snoozecommon.communication.groupmanager.GroupManagerDescription groupManager)
          Adds a group manager description.
 void addGroupManagerSummaryInformation(String groupManagerId, org.inria.myriads.snoozecommon.communication.groupmanager.summary.GroupManagerSummaryInformation summary)
          Adds group manager data.
 boolean addIpAddress(String ipAddress)
          Adds an IP address based on a string.
 boolean dropGroupManager(String groupManagerId)
          Removes a group manager from the repository.
 String getFreeIpAddress()
          Returns a free IP address.
 ArrayList<org.inria.myriads.snoozecommon.communication.groupmanager.GroupManagerDescription> getGroupManagerDescriptions(int numberOfBacklogEntries)
          Returns the group manager descriptions.
 int getNumberOfFreeIpAddresses()
          Returns the number of free IP addresses.
 boolean removeIpAddress(String ipAddress)
          Removes an IP address from the pool.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GroupLeaderMemoryRepository

public GroupLeaderMemoryRepository(String virtualMachineSubnet,
                                   int maxCapacity)
Constructor.

Parameters:
virtualMachineSubnet - The virtual machine subnet
maxCapacity - The maximum capacity
Method Detail

addIpAddress

public boolean addIpAddress(String ipAddress)
Adds an IP address based on a string.

Specified by:
addIpAddress in interface GroupLeaderRepository
Parameters:
ipAddress - The ip address
Returns:
true if released, false otherwise

removeIpAddress

public boolean removeIpAddress(String ipAddress)
Removes an IP address from the pool.

Specified by:
removeIpAddress in interface GroupLeaderRepository
Parameters:
ipAddress - The ip address
Returns:
true if removed, false otherwise

getFreeIpAddress

public String getFreeIpAddress()
Returns a free IP address.

Specified by:
getFreeIpAddress in interface GroupLeaderRepository
Returns:
The free ip address

addGroupManagerDescription

public boolean addGroupManagerDescription(org.inria.myriads.snoozecommon.communication.groupmanager.GroupManagerDescription groupManager)
Adds a group manager description.

Specified by:
addGroupManagerDescription in interface GroupLeaderRepository
Parameters:
groupManager - The group manager description
Returns:
true if everything ok, false otherwise

getGroupManagerDescriptions

public ArrayList<org.inria.myriads.snoozecommon.communication.groupmanager.GroupManagerDescription> getGroupManagerDescriptions(int numberOfBacklogEntries)
Returns the group manager descriptions.

Specified by:
getGroupManagerDescriptions in interface GroupLeaderRepository
Parameters:
numberOfBacklogEntries - The number of backlog entries
Returns:
The group manager descriptions

addGroupManagerSummaryInformation

public void addGroupManagerSummaryInformation(String groupManagerId,
                                              org.inria.myriads.snoozecommon.communication.groupmanager.summary.GroupManagerSummaryInformation summary)
Adds group manager data.

Specified by:
addGroupManagerSummaryInformation in interface GroupLeaderRepository
Parameters:
groupManagerId - The group manager identifier
summary - The group manager data transporter

dropGroupManager

public boolean dropGroupManager(String groupManagerId)
Removes a group manager from the repository.

Specified by:
dropGroupManager in interface GroupLeaderRepository
Parameters:
groupManagerId - The group manager identifier
Returns:
true if everything ok, false otherwise

getNumberOfFreeIpAddresses

public int getNumberOfFreeIpAddresses()
Returns the number of free IP addresses.

Specified by:
getNumberOfFreeIpAddresses in interface GroupLeaderRepository
Returns:
The number of IP addresses


Copyright © 2012. All Rights Reserved.