#include <Storage_i.h>
Diagramma delle classi per fbfs::Storage_i
Membri pubblici | |
Storage_i (Prefs &prefs, const CORBA::ORB_ptr &orb) | |
Invocato al momento della creazione dell'oggetto sigleton utilizzato dal server CORBA. Continua... | |
virtual | ~Storage_i () |
Invocato alla chiusura del server. Continua... | |
Obj* | get (const Security &cert, const Obj_id &id) throw (NotFound, SecurityException, InternalError) |
Legge dal repository un oggetto, dato il suo fbfs::Obj_id. Continua... | |
Obj_ts | get_ts (const Security &cert, const Obj_id &id) throw (NotFound, SecurityException, InternalError) |
Ottiene la struttura fbfs::Obj_ts associata ad un oggetto. Continua... | |
Obj_prop | get_prop (const Security &cert, const Obj_id &id) throw (NotFound, SecurityException, InternalError) |
Ottiene la struttura Obj_prop associata ad un oggetto. Continua... | |
void | put (const Security &cert,const Obj &obj,const Obj_id &id,const Obj_prop &prop,const Obj_ts &ts) throw (AlreadyPresent, SecurityException, InternalError) |
Inserisce un oggetto nel repository. Continua... | |
Obj_infoList* | list (const Security &cert) throw (SecurityException, InternalError) |
Ottiene una lista di identificatori degli oggetti contenuti nel repository. Continua... | |
void | put_from_peer (const Security &cert, const Obj_id &id, const char *peer) throw (NotFound, PeerNotAvailable, AlreadyPresent, SecurityException, InternalError) |
Inserisce nel repository un oggetto prelevato da un altro Storage server. Continua... | |
void | remove (const Security &cert, const Obj_id &id) throw (NotFound, SecurityException, InternalError) |
Rimuove un oggetto dal repository. Continua... |
Implementazione di un Server in grado di mantenere in forma persistente delle strutture di tipo Obj, ogniuna corredata di una struttura ausiliaria fbfs::Obj_prop, che definisce le proprietà di persistenza dell'oggetto. Esse sono utilizzate dal server FileManager, ma sono mantenute in forma persistente assieme all'oggetto a cui si riferiscono per permettere il recovery in caso di crash del server FileManager.
Ogni oggetto è inoltre corredato da una struttura di tipo Obj_ts che garantisce che la coppia (fbfs::Obj_id, fbfs::Obj_ts) individui in modo univoco un oggetto nel sistema: ciò permette di effettuare il cacheing di oggetti presso un server remoto e di verificare la consistenza delle copie fredde con quelle calde con la sola verifica dell'uguaglianza di fbfs::Obj_id e fbfs::Obj_ts. La struttura fbfs::Obj_ts è generata dal FileManager, affinché tutte le copie attive abbiano la medesima fbfs::Obj_ts.
Definizione alla linea 60 del file Storage_i.h.
|
Invocato al momento della creazione dell'oggetto sigleton utilizzato dal server CORBA. Qui è inizializzato lo stato del server. |
|
Invocato alla chiusura del server.
Definizione alla linea 71 del file Storage_i.h. 00071 {} |
|
Legge dal repository un oggetto, dato il suo fbfs::Obj_id.
|
|
Ottiene la struttura Obj_prop associata ad un oggetto.
|
|
Ottiene la struttura fbfs::Obj_ts associata ad un oggetto.
|
|
Ottiene una lista di identificatori degli oggetti contenuti nel repository.
|
|
Inserisce un oggetto nel repository.
|
|
Inserisce nel repository un oggetto prelevato da un altro Storage server.
|
|
Rimuove un oggetto dal repository.
|