Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
MIP SDK è quasi completamente asincrono. Ad esempio, l'SDK esegue qualsiasi operazione che comporta l'I/O di rete o il file in modo asincrono. Per gestire le notifiche degli eventi per questi eventi asincroni, l'SDK usa il modello observer.
Panoramica dell'implementazione
Quando si costruisce un oggetto che esegue un'operazione asincrona, implementare una Observer classe . Gli osservatori ricevono gli eventi di notifica correlati alle varie operazioni asincrone in MIP SDK e forniscono il risultato al chiamante.
È possibile eseguire l'override delle funzioni virtuali in ogni Observer classe per il modello asincrono preferito. L'SDK implementa il modello observer di notifica eventi usando std::promise e std::future.
Ogni observer specifico della classe contiene un insieme di funzioni di successo e di errore/fallimento per gestire l’esito di un’operazione asincrona. Le funzioni success restituiscono l'oggetto associato all'operazione. Le funzioni di errore/ restituiscono un'eccezione che contiene informazioni dettagliate sul motivo per cui l'operazione non è riuscita.
Ad esempio, FileProfile supporta le due operazioni seguenti:
- Può aggiungere un nuovo motore al profilo usando
FileProfile::AddEngineAsync. - Può scaricare un motore dal profilo usando
FileProfile::UnloadEngineAsync.
Poiché l'SDK implementa due Observer funzioni per ogni operazione asincrona, è possibile presupporre che quattroObserver metodi siano associati a FileProfile:
FileProfileObserver::OnAddEngineSuccess()FileProfileObserver::OnAddEngineError()FileProfileObserver::OnUnloadEngineSuccessFileProfileObserver::OnUnloadEngineError()
Classi osservatore di MIP SDK
MIP File SDK contiene due osservatori:
mip::FileProfile::Observermip::FileHandler::Observer
MIP Policy SDK ha un osservatore:
mip::Profile::Observer
MIP Protection SDK dispone di tre osservatori:
mip::ProtectionProfile::Observermip::ProtectionEngine::Observermip::ProtectionHandler::Observer
Passaggi successivi
Altre informazioni su come i vari SDK implementano e usano osservatori: