|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectSOMA.resourceManagement.FileAlarmsHandler
Classe che implementa un gestore per le situazioni di allarme relative all'accesso a file (in lettura o scrittura). Interviene con livelli diversi di gravità: se è il primo allarme provocato dall'agente, viene deschedulato e vengono abbassate le priorità dell'agente stesso e di tutto il suo threadGroup; se è il secondo allarme provocato dallo stesso agente sulla stessa risorsa, l'agente viene ucciso (con tutti i thread che lo compongono)
CpuAlarmsHandler
,
MemAlarmsHandler
,
NetAlarmsHandler
Field Summary | |
(package private) int |
alarmsNum
|
(package private) java.util.Hashtable |
alarmsTab
|
(package private) java.util.HashSet |
badAgents
|
(package private) PlaceResourceManager |
prm
|
Constructor Summary | |
FileAlarmsHandler(PlaceResourceManager prm)
Costruttore: assegna il riferimento a resourceManager e registra il listener presso monitoringManager |
Method Summary | |
void |
alarm(MonitoringManagerEvent ev)
Recupera il worker dell'agente che ha prodotto l'allarme e invoca firstAlarm o secondAlarm a seconda che l'agente abbia già provocato o meno un altro allarme (sempre sulla stessa risorsa) |
void |
firstAlarm(EventInfo info,
AgentWorker agW)
Inserisce l'agente in badAgents, per segnalare in futuro il fatto che ha già prodotto un allarme, invoca yield() sul thread che ha superato la soglia, abbassa di 1 la sua priorità e quella massima di tutto il threadGroup dell'agente |
void |
secondAlarm(EventInfo info,
AgentWorker agW)
Se l'agente non è già stato eliminato, uccide tutti i thread del suo gruppo e lo inserisce in killedAgents, in modo da segnalarne l'avvenuta eliminazione, altrimenti non fa nulla |
java.lang.String |
toString()
Restituisce la rappresentazione in stringa |
void |
update(AgentInfo[] info)
|
void |
update(NetworkInfo info)
|
void |
update(ProcessInfo[] info)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
PlaceResourceManager prm
java.util.HashSet badAgents
java.util.Hashtable alarmsTab
int alarmsNum
Constructor Detail |
public FileAlarmsHandler(PlaceResourceManager prm)
Method Detail |
public void alarm(MonitoringManagerEvent ev)
alarm
in interface MonitoringManagerListener
public void firstAlarm(EventInfo info, AgentWorker agW)
public void secondAlarm(EventInfo info, AgentWorker agW)
public java.lang.String toString()
public void update(AgentInfo[] info)
update
in interface MonitoringManagerListener
public void update(ProcessInfo[] info)
update
in interface MonitoringManagerListener
public void update(NetworkInfo info)
update
in interface MonitoringManagerListener
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |