## NAME

ACE_Stream_Head - Standard module that acts as the head of a ustream.

## SYNOPSIS

    #include <ace/Stream_Modules.h>

    template<ACE_SYNCH_DECL>
    class ACE_Stream_Head : public ACE_Task<ACE_SYNCH_USE>
    {
      public:
        ACE_Stream_Head (void);
        ~ACE_Stream_Head (void);
        virtual int open (void *a = 0);
        virtual int close (u_long flags = 0);
        virtual int put (ACE_Message_Block *msg, ACE_Time_Value * = 0);
        virtual int svc (void);
        virtual int init (int argc, ASYS_TCHAR *argv[]);
        virtual int info (ASYS_TCHAR **info_string, size_t length) const;
        virtual int fini (void);
        void dump (void) const;
        ACE_ALLOC_HOOK_DECLARE;
      private:
        int control (ACE_Message_Block *);
        int canonical_flush (ACE_Message_Block *);
    };

## ACE_Task hooks

    virtual int open (void *a = 0);

    virtual int close (u_long flags = 0);

    virtual int put (ACE_Message_Block *msg, ACE_Time_Value * = 0);

    virtual int svc (void);

## Dynamic linking hooks

    virtual int init (int argc, ASYS_TCHAR *argv[]);

    virtual int info (ASYS_TCHAR **info_string, size_t length) const;

    virtual int fini (void);

    void dump (void) const;

Dump the state of an object.

    ACE_ALLOC_HOOK_DECLARE;

Declare the dynamic allocation hooks.

## AUTHOR

Doug Schmidt

## LIBRARY

ace