Parse Protocol

We will stream events both directions over the connection joining the two halves of the Parse plugin. We recognize this as an application of the Half Object Plus Protocol pattern.

Open ⇒ ( Started | Stopped | Finished )

Start ⇒ Started → Accepted* → Finished

Stop ⇒ Stopped

Discard ⇒

There will be at most one Start per item id. The server will maintain the status of that start.

Closing a connection does not stop a run.

Opening a closed connection (or a second connection) resumes the flow of events for the id.

Stopping a run saves cpu resources but does not release storage.

Discarding a run releases storage, possibly after reference counting.