MXVK Vulkan Framework 0.24.0
C++20 Vulkan rendering framework for practical 2D and 3D application development with SDL3.
Loading...
Searching...
No Matches
relay.cpp File Reference
#include "mxnetwork/socket.hpp"
#include <atomic>
#include <cstdlib>
#include <iostream>
#include <mutex>
#include <poll.h>
#include <signal.h>
#include <string>
#include <thread>
#include <vector>

Go to the source code of this file.

Classes

class  Relay

Functions

int main (int argc, char **argv)
void quit_signal (int)

Variables

std::atomic< bool > active {false}
std::mutex mut

Function Documentation

◆ main()

int main ( int argc,
char ** argv )

Definition at line 137 of file relay.cpp.

137 {
138
139 if (argc != 2) {
140 std::cout << "Use:\n"
141 << argv[0] << " <port>\n";
142 return EXIT_FAILURE;
143 }
144 try {
145
146 struct sigaction sa{};
147 sa.sa_handler = quit_signal;
148 if (sigaction(SIGINT, &sa, nullptr) == -1) {
149 perror("sigaction");
150 return EXIT_FAILURE;
151 }
152
153 Relay relay;
154 relay.listen(argv[1]);
155 return EXIT_SUCCESS;
156 } catch (const mxnetwork::Exception &e) {
157 std::cerr << "relay: Exception: " << e.text() << "\n";
158 return EXIT_FAILURE;
159 }
160 return EXIT_SUCCESS;
161}
bool listen(std::string_view port)
Definition relay.cpp:28
Lightweight exception wrapper for MXNetwork failures.
Definition exception.hpp:11
std::string text() const
Return the stored error text.
Definition exception.cpp:5
void quit_signal(int)
Definition relay.cpp:133

◆ quit_signal()

void quit_signal ( int )

Definition at line 133 of file relay.cpp.

133 {
134 active.store(false);
135}
std::atomic< bool > active
Definition relay.cpp:12

Variable Documentation

◆ active

std::atomic<bool> active {false}

Definition at line 12 of file relay.cpp.

12{false};

◆ mut

std::mutex mut

Definition at line 13 of file relay.cpp.