StormByte C++ Library: Network module 0.0.9999
StormByte-Network is a StormByte library module for handling and create network connections
Loading...
Searching...
No Matches
status.hxx
1#pragma once
2
3#include <StormByte/visibility.h>
4
5#include <string>
6
11namespace StormByte::Network::Connection {
16 enum class STORMBYTE_NETWORK_PUBLIC Status: unsigned short {
17 Connected,
18 Disconnected,
19 Connecting,
20 Disconnecting,
21 Negotiating,
22 Rejected,
23 PeerClosed,
24 Error
25 };
26
32 constexpr STORMBYTE_NETWORK_PUBLIC std::string StatusToString(const Status& status) {
33 switch (status) {
34 case Status::Connected: return "Connected";
35 case Status::Disconnected: return "Disconnected";
36 case Status::Connecting: return "Connecting";
37 case Status::Disconnecting: return "Disconnecting";
38 case Status::Negotiating: return "Negotiating";
39 case Status::Rejected: return "Rejected";
40 case Status::PeerClosed: return "PeerClosed";
41 case Status::Error:
42 default:
43 return "Error";
44 }
45 }
46
52 constexpr STORMBYTE_NETWORK_PUBLIC bool IsConnected(const Status& status) noexcept {
53 return status == Status::Connected || status == Status::Negotiating;
54 }
55}