Monopoly — Portage moderne 0.1.0
Portage moderne C/C++23 du Monopoly de 1999
Loading...
Searching...
No Matches
VoiceChatRuntime.hpp File Reference
#include "Actions.hpp"
#include "Messaging.hpp"
#include "VoiceChatPacket.hpp"
#include <cstddef>
#include <cstdint>
#include <optional>
#include <span>
#include <unordered_map>
Include dependency graph for VoiceChatRuntime.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  monopoly::voicechat::SessionState
 
struct  monopoly::voicechat::Statistics
 

Namespaces

namespace  monopoly
 
namespace  monopoly::voicechat
 
namespace  monopoly::voicechat::detail
 

Typedefs

using monopoly::voicechat::ReceiveSink = bool(*)(std::span< const std::uint8_t > payload, std::uint32_t sourceId)
 
using monopoly::voicechat::ReceiveEventSink = packet::EventSink
 

Functions

SessionState * monopoly::voicechat::detail::activeSession (std::uint32_t sourceId) noexcept
 
bool monopoly::voicechat::detail::consumeEvent (const packet::Event &event, std::uint32_t sourceId)
 
bool monopoly::voicechat::validPacket (std::span< const std::uint8_t > payload) noexcept
 
void monopoly::voicechat::setReceiveSink (ReceiveSink sink) noexcept
 
void monopoly::voicechat::setReceiveEventSink (ReceiveEventSink sink) noexcept
 
void monopoly::voicechat::resetSession () noexcept
 
const Statistics & monopoly::voicechat::statistics () noexcept
 
std::optional< SessionState > monopoly::voicechat::sessionState (std::uint32_t sourceId)
 
bool monopoly::voicechat::processRuleMessage (const actions::Message &message)
 
bool monopoly::voicechat::sendPacket (std::span< const std::uint8_t > payload, bool importantDataDoNotDiscard)
 

Variables

constexpr std::size_t monopoly::voicechat::MaxReceiveSessions = 10
 
ReceiveSink monopoly::voicechat::detail::receiveSink {}
 
ReceiveEventSink monopoly::voicechat::detail::receiveEventSink {}
 
Statistics monopoly::voicechat::detail::statistics {}
 
std::unordered_map< std::uint32_t, SessionState > monopoly::voicechat::detail::sessions {}