34 #define THREADQUEUE_MAX_BYTES (2048) // How big does this actually need to be?
58 MoreInputIsAvailable(
ThreadQueue & tq) : Predicate(tq.m_mutex), m_threadQueue(tq) { }
60 virtual bool EvaluatePrecondition()
62 bool ret = m_threadQueue.m_heldBytes == 0;
65 LOG.
Error(
"MoreInputIsAvailable precondition failed: m_heldBytes = %d",
66 m_threadQueue.m_heldBytes);
71 virtual bool EvaluatePredicate()
73 return m_threadQueue.m_heldBytes > 0;
75 } m_moreInputIsAvailable;
80 u8 m_queueData[THREADQUEUE_MAX_BYTES];
123 u32 UnsafeRead(u8* bytes, u32 length);
150 void Write(u8* bytes, u32 length);
181 u32
Read(u8* bytes, u32 length);
195 void PeekRead(u8* toBuffer, u32 index, u32 length);
u32 Read(u8 *bytes, u32 length)
Definition: ThreadQueue.cpp:75
void Write(u8 *bytes, u32 length)
Definition: ThreadQueue.cpp:20
void Error(const char *format,...)
Definition: Logger.h:259
void PeekRead(u8 *toBuffer, u32 index, u32 length)
Definition: ThreadQueue.cpp:91
~ThreadQueue()
Definition: ThreadQueue.cpp:17
ThreadQueue()
Definition: ThreadQueue.cpp:12
void Flush()
Definition: ThreadQueue.cpp:118
void ReadBlocking(u8 *bytes, u32 length)
Definition: ThreadQueue.cpp:61
u32 BytesAvailable()
Definition: ThreadQueue.cpp:112
Definition: ThreadQueue.h:42