3#include <Foundation/FoundationInternal.h>
4PL_FOUNDATION_INTERNAL_HEADER
6#if PL_ENABLED(PL_PLATFORM_LINUX)
8# include <Foundation/Basics.h>
9# include <Foundation/Communication/IpcChannel.h>
12# include <sys/types.h>
15class PL_FOUNDATION_DLL plPipeChannel_linux :
public plIpcChannel
18 plPipeChannel_linux(
plStringView sAddress, Mode::Enum mode);
19 ~plPipeChannel_linux();
23 friend class plMessageLoop_linux;
32 void AcceptIncomingConnection();
33 void ProcessIncomingPackages();
34 void ProcessConnectSuccessfull();
39 int m_serverSocketFd = -1;
40 int m_clientSocketFd = -1;
42 plUInt8 m_InputBuffer[4096];
43 plUInt64 m_previousSendOffset = 0;
Base class for a communication channel between processes.
Definition IpcChannel.h:44
virtual void InternalConnect()=0
Called on worker thread after Connect was called.
virtual void InternalDisconnect()=0
Called on worker thread after Disconnect was called.
virtual bool NeedWakeup() const =0
Called by Send to determine whether the message loop need to be woken up.
virtual void InternalSend()=0
Called on worker thread to sent pending messages.
Internal sub-system used by plIpcChannel.
Definition MessageLoop.h:20
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34