@@ -34,6 +34,26 @@ public protocol Eventable {
3434 */
3535 func stack( priority: EventPriority )
3636
37+ /**
38+ Schedule the Event to be dispatched through the Central Queue with the given `priority`
39+ - Author: Simon J. Stuart
40+ - Version: 4.2.0
41+ - Parameters:
42+ - at: The `DispatchTime` after which to dispatch the Event
43+ - priority: The `EventPriority` with which to process the Event
44+ */
45+ func scheduleQueue( at: DispatchTime , priority: EventPriority )
46+
47+ /**
48+ Schedule the Event to be dispatched through the Central Stack with the given `priority`
49+ - Author: Simon J. Stuart
50+ - Version: 4.2.0
51+ - Parameters:
52+ - at: The `DispatchTime` after which to dispatch the Event
53+ - priority: The `EventPriority` with which to process the Event
54+ */
55+ func scheduleStack( at: DispatchTime , priority: EventPriority )
56+
3757 /**
3858 Registers an Event Listner Callback for the given `Eventable` Type with the Central Event Listener
3959 - Author: Simon J. Stuart
@@ -74,14 +94,22 @@ extension Eventable {
7494 - Version: 1.0.0
7595 */
7696extension Eventable {
77- public func queue( priority: EventPriority = . normal) {
97+ @ inline ( __always ) public func queue( priority: EventPriority = . normal) {
7898 EventCentral . queueEvent ( self , priority: priority)
7999 }
80100
81- public func stack( priority: EventPriority = . normal) {
101+ @ inline ( __always ) public func stack( priority: EventPriority = . normal) {
82102 EventCentral . stackEvent ( self , priority: priority)
83103 }
84104
105+ @inline ( __always) public func scheduleQueue( at: DispatchTime , priority: EventPriority = . normal) {
106+ EventCentral . scheduleQueue ( self , at: at, priority: priority)
107+ }
108+
109+ @inline ( __always) public func scheduleStack( at: DispatchTime , priority: EventPriority = . normal) {
110+ EventCentral . scheduleStack ( self , at: at, priority: priority)
111+ }
112+
85113 @discardableResult static public func addListener< TEvent: Eventable > ( _ requester: AnyObject ? , _ callback: @escaping TypedEventCallback < TEvent > , executeOn: ExecuteEventOn = . requesterThread) -> EventListenerHandling {
86114 return EventCentral . addListener ( requester, callback, forEventType: Self . self, executeOn: executeOn)
87115 }
0 commit comments