Ferreteria/v0.6/clade/IO/Aspect/Connx/aux/QStream

From Woozle Writes Code
< Ferreteria‎ | v0.6‎ | clade‎ | IO‎ | Aspect‎ | Connx‎ | aux
Jump to navigation Jump to search
clade: IO\Aspect\Connx\aux\QStream
Clade Family
Obj QStream (none)
Clade Aliases
Alias Clade
Base* [c,i] Data\Mem\QObj\Res
SelfIface IO\Aspect\Connx\aux\QStream
Subpages

About

  • Purpose: manages a Stream object

History

  • 2025-12-08 [xTODO] Explore the overlap between this and Sys\FileSys\Aspect\InOut.
    • This clade handles a file as a stream, while InOut handles the broader random-access functionality (which allows streaming but doesn't focus on it).
    • This clade can also handle non-file, non-random-access streams.
      • 2026-01-19 UPDATE: This clade no longer has anything to do with Stream functionality; it just manages a Stream object.
  • 2025-12-24
    • renamed from QPipe (because it originally handled resources in the array set by proc_open()) to QStream
    • Do we also need a resource wrapper? Should Stream also inherit resource-wrapping?
  • 2025-12-25 Commented out entirely: "I'm thinking most of this needs to be moved into [WFe]IO\Aspect\Connx\Stream"
  • 2026-01-19 Selectively re-enabled (just QObj functions): It turns out we do have a use for at least the basic Get/Set/Has fx for a Stream object

Code

interface iQStream extends BaseIface {
    // ACCESS
    function GetIt() : self;
    function GetItNz(object $oDefault=NULL) : ?self;
}
class cQStream extends BaseClass implements SelfIface {
    // ++ ACCESS ++ //

    public function GetIt() : SelfIface                         { return $this->GetObj(); }
    public function GetItNz(object $oDefault=NULL) : ?SelfIface { return $this->GetObjNz($oDefault); }

    // -- ACCESS -- //
}