Lumiera  0.pre.03
»edit your freedom«
OutputSlot::Connection Class Referenceabstract

#include "steam/play/output-slot-connection.hpp"

Description

represents the active point in each of the per-channel connections used when this OutputSlot is operational.

OutputSlot Core API

Actually, this extension point towards the implementation of the actual output handling carries the core API of OutputSlot. Thus, the task of actually implementing an OutputSlot boils down to implementing this interface and providing a ConnectionState.

  • lock() announces this FrameID and the corresponding buffer to be in exclusive use by the client from now on
  • transfer() ends the client sided processing and initiates the outputting of the data found in the corresponding buffer.
  • pushout() actually pushes the denoted buffer to the output. Typically, pushout() is called from the transfer() implementation; yet it may as well be called from a separate service thread or some kind of callback.
    Note
    the meaning of FrameID is implementation defined.
    typically the concrete connection is non-copyable

Definition at line 98 of file output-slot-connection.hpp.

Public Member Functions

virtual BuffHandle claimBufferFor (FrameID)=0
 
virtual void discard (BuffHandle const &)=0
 
virtual bool isTimely (FrameID, TimeValue)=0
 
virtual void pushout (BuffHandle const &)=0
 
virtual void shutDown ()=0
 
virtual void transfer (BuffHandle const &)=0
 
+ Inheritance diagram for OutputSlot::Connection:
+ Collaboration diagram for OutputSlot::Connection:

The documentation for this class was generated from the following files: