Reece
3a76aa6d69
[*] Fixup IPCPipe.NT recycling, including proper disconnect acknowledgment and removal of atomic release hack [*] End of stream callback hack in Async.NT for IPC. net requires something else; this hack will do [*] Fix io spin: bShouldReadNext wasn't reset on end of frame
87 lines
4.2 KiB
C++
87 lines
4.2 KiB
C++
/***
|
|
Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved.
|
|
|
|
File: IPC.hpp
|
|
Date: 2022-4-13
|
|
Author: Reece
|
|
***/
|
|
#pragma once
|
|
|
|
namespace Aurora::IO::IPC
|
|
{
|
|
#if defined(AURORA_IS_POSIX_DERIVED)
|
|
|
|
#define PROXY_INTERNAL_INTERFACE_(Base)\
|
|
virtual void OnPresleep() override \
|
|
{ \
|
|
Base OnPresleep(); \
|
|
}; \
|
|
virtual bool OnTrigger(AuUInt handle) override \
|
|
{ \
|
|
return Base OnTrigger(handle); \
|
|
} \
|
|
virtual void OnFinishSleep() override \
|
|
{ \
|
|
Base OnFinishSleep(); \
|
|
} \
|
|
virtual bool Singular() override \
|
|
{ \
|
|
return Base Singular(); \
|
|
} \
|
|
virtual AuUInt GetHandle() override \
|
|
{ \
|
|
return Base GetHandle(); \
|
|
} \
|
|
virtual const AuList<AuUInt> &GetHandles() override \
|
|
{ \
|
|
return Base GetHandles(); \
|
|
} \
|
|
virtual const AuList<AuUInt> &GetWriteHandles() override \
|
|
{ \
|
|
return Base GetWriteHandles(); \
|
|
} \
|
|
virtual AuUInt GetWriteHandle() override \
|
|
{ \
|
|
return Base GetWriteHandle(); \
|
|
} \
|
|
bool HasValidHandle() \
|
|
{ \
|
|
return Base HasValidHandle(); \
|
|
}
|
|
#else
|
|
|
|
#define PROXY_INTERNAL_INTERFACE_(Base)\
|
|
inline virtual void OnPresleep() override \
|
|
{ \
|
|
Base OnPresleep(); \
|
|
}; \
|
|
inline virtual bool OnTrigger(AuUInt handle) override \
|
|
{ \
|
|
return Base OnTrigger(handle); \
|
|
} \
|
|
inline virtual void OnFinishSleep() override \
|
|
{ \
|
|
Base OnFinishSleep(); \
|
|
} \
|
|
inline virtual bool Singular() override \
|
|
{ \
|
|
return Base Singular(); \
|
|
} \
|
|
inline virtual AuUInt GetHandle() override \
|
|
{ \
|
|
return Base GetHandle(); \
|
|
} \
|
|
inline virtual const AuList<AuUInt> &GetHandles() override \
|
|
{ \
|
|
return Base GetHandles(); \
|
|
} \
|
|
inline bool HasValidHandle() \
|
|
{ \
|
|
return Base HasValidHandle(); \
|
|
}
|
|
|
|
#endif
|
|
|
|
#define PROXY_INTERNAL_INTERFACE(Base) PROXY_INTERNAL_INTERFACE_(Base.)
|
|
|
|
} |