Panoptes 1.0.0
Endpoint Detection and Response
Loading...
Searching...
No Matches
Public Member Functions | List of all members
PeMessageQueue Class Reference

#include <container_ipc.hpp>

Public Member Functions

void enqueue (const PeScan &message)
 The enqueue function is a function that enqueues a PeScan message to the queue.
 
PeScan dequeue ()
 The dequeue function dequeues a PeScan messages from the queue.
 
 PeMessageQueue ()
 The PeMessageQueue class is a thread-safe queue for PeScan messages.
 
 ~PeMessageQueue ()
 

Detailed Description

Definition at line 10 of file container_ipc.hpp.

Constructor & Destructor Documentation

◆ PeMessageQueue()

PeMessageQueue::PeMessageQueue ( )

The PeMessageQueue class is a thread-safe queue for PeScan messages.

Parameters
messageThe PeScan message to enqueue.
Returns
True if the message is enqueued successfully, false otherwise.

Definition at line 13 of file ext_server.cpp.

13 {
14 InitializeCriticalSection(&cs_);
15 InitializeConditionVariable(&cv_);
16}

◆ ~PeMessageQueue()

PeMessageQueue::~PeMessageQueue ( )
inline

Definition at line 15 of file container_ipc.hpp.

15 {
16 DeleteCriticalSection(&cs_);
17 }

Member Function Documentation

◆ dequeue()

PeScan PeMessageQueue::dequeue ( )

The dequeue function dequeues a PeScan messages from the queue.

Returns
The PeScan message that is dequeued.

Definition at line 31 of file ext_server.cpp.

31 {
32 EnterCriticalSection(&cs_);
33 while (queue_.empty()) {
34 std::cout << "Queue empty, waiting..." << std::endl;
35 SleepConditionVariableCS(&cv_, &cs_, INFINITE);
36 }
37 PeScan message = queue_.front();
38 queue_.pop();
39 // std::cout << "Dequeued item. Remaining queue size: " << queue_.size() << std::endl;
40 LeaveCriticalSection(&cs_);
41 return message;
42}
The information about the file to be scanned that passed between the container, extensibility and the...

Referenced by MessageQueueThread().

◆ enqueue()

void PeMessageQueue::enqueue ( const PeScan message)

The enqueue function is a function that enqueues a PeScan message to the queue.

Parameters
messageThe PeScan message to enqueue.
Returns
True if the message is enqueued successfully, false otherwise.

Definition at line 21 of file ext_server.cpp.

21 {
22 EnterCriticalSection(&cs_);
23 queue_.push(message);
24 std::cout << "Enqueued item. Queue size: " << queue_.size() << std::endl;
25 LeaveCriticalSection(&cs_);
26 WakeConditionVariable(&cv_);
27}

The documentation for this class was generated from the following files: