Async

The operation deferral has now been hand-tested.
How do you feel about:

Do each networking action in the journal, then cross them off.

Returns False if the journal was empty, and True if there were
journal entries.  Alternatively, returns True if an action was
performed, and False if no action was performed.

The networking server calls this function in a loop.  This return
value lets it know whether it should check for new journal
entries, or if it should wait.  After doing work, it should
immediately check again, because new entries might have been
added in the meantime.  But, if this function returned
immediately, it should sleep, because there was no time for new
entries to be added.