Administrative MTypes
Mike Fitzpatrick
fitz at noao.edu
Tue Jun 3 22:53:55 PDT 2008
Hi Guys,
The 'hub.event.stopping' was derived from the PLASTIC message
of a similar name but I really think it could be just 'hub.event.shutdown'
to be more explicit. This would avoid confusion with the
app.{starting,stopping} but I also agree that at least those two are
application specific things that belong in the second doc.
That said, I'd still like to have an 'app' class of messages
since not every administrative message will be coming from the hub.
My sense is that app.echo and app.isAlive really mean the same thing
and could be just 'app.ping' or somesuch (after all, if an app isn't
alive it would never respond, but then neither would any other message).
My presentation slides left out a 'status' class of mtypes in
part because the list was mixed with the idea that a response would be
a message and have an mtype. However, there were also mtypes that could
be used to e.g. post a progress message giving completion percentage, time
remaining, or just a free-form string to indicate progress or status.
I could see where a status string might be used in some sort of logging
pattern. To come full circle, I don't see any reason why an app can't
signal it's about to shutdown either (e.g. in some sort of onexit procedure
before a crash).
So, the list of admin mtypes I have now is:
hub.event.shutdown
hub.event.register
hub.event.unregister
hub.event.mtype
hub.event.metadata
app.ping
app.event.shutdown
app.status str status string
app.status.progress msgid,str progress string
app.status.progress.percent msgid,float percentage completed (float)
app.status.progress.timeLeft msgid,int est. time remaining (sec)
The progress mtypes need the msg-id to indicate progress on which
originating request, I'm open to suggestions that app.status could just be
a separate 'status' class. Are there any other application events or
actions we want to reserve for use in the spec?
Lastly, did we settle the question of whether users can extend
the hub/app toplevel classes or are we saying e.g. that any app.* message
is reserved for the spec? Can anyone imagine a use-case where they
implement a hub and want to define their own hub.* mtype for some
particular reason?
Cheers,
-Mike
More information about the apps-samp
mailing list