IDispatcher

Interfaccia di un Dispatcher di messaggi

Autore: Giorgio Bernardi
E-Mail: Giorgio.Bernardi@studio.unibo.it
Data : Settembre 2004

Un Dispatcher consente di decidere le politiche per l'invio e la ricezione di messaggi (es: lavorare in maniera sincrona/asincrona, decidere quante code di entrate/uscita usare, ecc...).
L'oggetto utilizza un MsgManager per inviare fisicamente i messaggi utilizzando quindi i meccanismi di spedizione implementati da tale oggetto.
Se alla richiesta di invio di un messaggio non è ancora stato collegato un MsgManager, il messaggio verrà scartato.

Codice
Properties Summary
Get Public(IMsgManager)
Set Public(IMsgManager)
Property Get MsgManager()
Property Set MsgManager( dsptchr As IMsgManager)

Codice
Identificativo dell'oggetto che si occuperà di spedire i messaggi ai destinatari
 
Method Summary
Public(Boolean) msgArrived( Env As CEnvelope)
Codice
Funzione di CallBack chiamata dal Manager che richiede al dispatcher di inviare il messaggio ad uno dei riceventi registratisi
Public(Boolean) Register( Receiver As IReceiver)
Codice
Funzione che permette ad un possibile destinatario di messaggi, di registrarsi presso il dispatcher
Public(Boolean) Send( Env As CEnvelope, MngAddress As String)
Codice
Funzione che permette di inviare un messaggio ad un Manager di messaggi destinatario
Public(Boolean) UnRegister( Receiver As IReceiver)
Codice
Funzione che permette ad un possibile destinatario di messaggi, precedentemente registratosi, di deregistrarsi presso il dispatcher
 
Details

MsgManager

Public Property Get MsgManager() As IMsgManager

Codice
Identificativo dell'oggetto che si occuperà di spedire i messaggi ai destinatari

MsgManager

Public Property Set MsgManager(dsptchr As IMsgManager)

Codice
Identificativo dell'oggetto che si occuperà di spedire i messaggi ai destinatari

msgArrived

Public Function msgArrived(Env As CEnvelope) As Boolean

Codice
Funzione di CallBack chiamata dal Manager che richiede al dispatcher di inviare il messaggio ad uno dei riceventi registratisi

Register

Public Function Register(Receiver As IReceiver) As Boolean

Codice
Funzione che permette ad un possibile destinatario di messaggi, di registrarsi presso il dispatcher

Send

Public Function Send(Env As CEnvelope, MngAddress As String) As Boolean

Codice
Funzione che permette di inviare un messaggio ad un Manager di messaggi destinatario
Per poter inviare un messaggio è necessario aver legato il dispatcher ad un MsgManager!
Restituisce False se l'invio non va a buon fine. Le implementazioni di questa interfaccia indicheranno i motivi specifici per cui è possibile che si verifichi un errore (esempio: Manager destinazione sconosciuto)

UnRegister

Public Function UnRegister(Receiver As IReceiver) As Boolean

Codice
Funzione che permette ad un possibile destinatario di messaggi, precedentemente registratosi, di deregistrarsi presso il dispatcher