1+ <?php
2+
3+ /**
4+ * Streams
5+ *
6+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7+ * of this software and associated documentation files (the "Software"), to deal
8+ * in the Software without restriction, including without limitation the rights
9+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+ * copies of the Software, and to permit persons to whom the Software is
11+ * furnished to do so, subject to the following conditions:
12+ *
13+ * The above copyright notice and this permission notice shall be included in all
14+ * copies or substantial portions of the Software.
15+ *
16+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22+ * SOFTWARE.
23+ *
24+ * @category Library
25+ * @package Streams
26+ * @author Axel Nana <[email protected] > 27+ * @copyright 2019 Aliens Group.
28+ * @license MIT <https://github.com/ElementaryFramework/Streams/blob/master/LICENSE>
29+ * @version GIT: 0.0.1
30+ */
31+
32+ namespace ElementaryFramework \Core \Streams \Events ;
33+
34+ /**
35+ * Stream Event
36+ *
37+ * Represent an event occurred in a stream.
38+ *
39+ * @package Events
40+ * @author Axel Nana <[email protected] > 41+ */
42+ abstract class StreamEvent implements IEvent
43+ {
44+ /**
45+ * Represent an unknown event.
46+ */
47+ const EVENT_UNKNOWN = 0 ;
48+
49+ /**
50+ * Represent a "error" event.
51+ */
52+ const EVENT_ERROR = 1 ;
53+
54+ /**
55+ * Represent a "close" event.
56+ */
57+ const EVENT_CLOSE = 2 ;
58+
59+ /**
60+ * Represent a "data" event.
61+ */
62+ const EVENT_DATA = 3 ;
63+
64+ /**
65+ * Represent an "end" event.
66+ */
67+ const EVENT_END = 4 ;
68+
69+ /**
70+ * Represent an "drain" event.
71+ */
72+ const EVENT_DRAIN = 5 ;
73+
74+ /**
75+ * Represent an "pipe" event.
76+ */
77+ const EVENT_PIPE = 6 ;
78+
79+ /**
80+ * The type of the raised event.
81+ *
82+ * @var integer
83+ */
84+ protected $ _eventType ;
85+
86+ /**
87+ * Creates a new stream event
88+ *
89+ * @param integer $type The event type.
90+ */
91+ public function __construct (int $ type )
92+ {
93+ $ this ->_eventType = $ type ;
94+ }
95+
96+ /**
97+ * Returns the type of this event.
98+ *
99+ * @return integer
100+ */
101+ public function getEventType (): int
102+ {
103+ return $ this ->_eventType ;
104+ }
105+ }
0 commit comments