If the WAL is very large it can take a very long time for Sirius to read back the contents at initialisation. Thus it is often necessary for the application to have some means of knowing when that has completed before making its services available. In the reference app, and within the limitations of the current API, that requires polling the isOnline() method. Since this is likely to be a relatively common aspect of any Sirius app, it would be more convenient if there were simpler ways to do so, such as:
a blocking waitUntilOnline() method, potentially with a timeout value
other types of blocking objects that are compatible with general 'wait for event' APIs, such as Selector - that approach might be impractical and/or out of scope
a callback method registered with the Sirius implementation
If the WAL is very large it can take a very long time for Sirius to read back the contents at initialisation. Thus it is often necessary for the application to have some means of knowing when that has completed before making its services available. In the reference app, and within the limitations of the current API, that requires polling the isOnline() method. Since this is likely to be a relatively common aspect of any Sirius app, it would be more convenient if there were simpler ways to do so, such as: