Thomas Weinert avatar Thomas Weinert committed 7157a64

Added interfaces for Event Loop and Event Emitter aggregations

Comments (0)

Files changed (3)

src/Carica/Io/Event/HasEmitter.php

+<?php
+
+namespace Carica\Io\Event {
+
+  use \Carica\Io\Event;
+
+  interface HasEmitter {
+
+    /**
+     * @param Event\Emitter $events
+     * @return Event\Emitter
+     */
+    function events(Event\Emitter $events = NULL);
+  }
+}

src/Carica/Io/Event/HasLoop.php

+<?php
+
+namespace Carica\Io\Event {
+
+  use \Carica\Io\Event;
+
+  interface HasLoop {
+
+    /**
+     * @param Event\Loop $loop
+     * @return Event\Loop
+     */
+    function events(Event\Loop $loop = NULL);
+  }
+}

src/Carica/Io/Stream.php

 
 namespace Carica\Io {
 
-  interface Stream {
+  interface Stream extends Event\HasEmitter {
 
     function resource();
 
 
     function write($data);
 
-    function events(Event\Emitter $events = NULL);
-    
   }
 
   function encodeBinaryFromArray(array $data) {
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.