![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /proc/self/root/usr/local/lib/node_modules/mediasoup/worker/include/PayloadChannel/ |
Upload File : |
#ifndef MS_PAYLOAD_CHANNEL_REQUEST_HPP #define MS_PAYLOAD_CHANNEL_REQUEST_HPP #include "common.hpp" #include <json.hpp> #include <string> #include <unordered_map> using json = nlohmann::json; namespace PayloadChannel { // Avoid cyclic #include problem by declaring classes instead of including // the corresponding header files. class UnixStreamSocket; class Request { public: enum class MethodId { DATA_CONSUMER_SEND }; public: static bool IsRequest(json& jsonRequest); private: static std::unordered_map<std::string, MethodId> string2MethodId; public: Request(PayloadChannel::UnixStreamSocket* channel, json& jsonRequest); virtual ~Request(); public: void Accept(); void Accept(json& data); void Error(const char* reason = nullptr); void TypeError(const char* reason = nullptr); void SetPayload(const uint8_t* payload, size_t payloadLen); public: // Passed by argument. PayloadChannel::UnixStreamSocket* channel{ nullptr }; uint32_t id{ 0u }; std::string method; MethodId methodId; json internal; json data; const uint8_t* payload{ nullptr }; size_t payloadLen{ 0u }; // Others. bool replied{ false }; }; } // namespace PayloadChannel #endif