SetManipulation

Lucas Pardue edited this page Jul 20, 2016 · 3 revisions

For a given FOO_FRAME type, each FOO_FRAME received adds to the set of data specific to that frame type (e.g., adding type payload as a single value to the set, or adding a number of values; this is frame type-specific). The processing and use of the set data is (of course) frame type specific as well (e.g., wildcard handling).

There are a number of flags possible:

  • CLEAR indicates that all state for that frame type (regardless of any subclassifications, etc.) must be discarded before processing the contents of the frame it occurs upon.
  • REMOVE indicates that the member(s) carried in the payload must be removed from the set, if present; if not present, it/they have no effect.
  • COMPLETE indicates that the frame that carries it represents the complete, current state of the set at the time of sending, to help receiving implementations understand whether more frames are outstanding.