/***
Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved.
File: ILoopSourceSubscriber.hpp
Date: 2022-2-12
Author: Reece
***/
#pragma once
namespace Aurora::IO::Loop
{
AUKN_INTERFACE(ILoopSourceSubscriber,
/**
* @brief called under Wait[All/Any[Ex]] once an object is signaled
* @return should pop from ILoopQueue
*/
AUI_METHOD(bool, OnFinished, (const AuSPtr<ILoopSource> &, source))
);
AUKN_INTERFACE(ILoopSourceSubscriberEx,
AUI_METHOD(bool, OnFinished, (const AuSPtr<ILoopSource> &, source, AuUInt8, position)),
* @brief called under Wait[All/Any[Ex]] once an object timesout before being evicted
* @param
* @param AUI_METHOD
AUI_METHOD(void, OnTimeout, (const AuSPtr<ILoopSource> &, source))
}