tcp udp 改协程成功

This commit is contained in:
2026-06-23 09:35:27 +08:00
parent abc077be9b
commit d621dad9a1
12 changed files with 138 additions and 129 deletions
-32
View File
@@ -1,7 +1,6 @@
#include "TCP_Server.h"
#include <array>
#include <utility>
namespace Psc::asio_socket {
@@ -24,11 +23,6 @@ void TCP_Server::tick() {
}
}
ucoro::awaitable<void> TCP_Server::tick_coro() {
tick();
co_return;
}
TCP_Server & TCP_Server::set_tcp_no_delay(bool value) {
no_delay = value;
return *this;
@@ -60,14 +54,6 @@ bool TCP_Server::listen(const std::string& ip, std::uint32_t port) {
return listen(Sockaddr_In(ip, port));
}
ucoro::awaitable<bool> TCP_Server::listen_coro(std::string ip, std::uint32_t port) {
co_return listen(std::move(ip), port);
}
ucoro::awaitable<bool> TCP_Server::listen_coro(Sockaddr_In addr) {
co_return listen(addr);
}
bool TCP_Server::listen(const Sockaddr_In& addr) {
if (!acceptor) create();
if (addr.ip.empty() || addr.port == 0) {
@@ -135,10 +121,6 @@ std::shared_ptr<TCP_Connect> TCP_Server::accept() const {
return nullptr;
}
ucoro::awaitable<std::shared_ptr<TCP_Connect>> TCP_Server::accept_coro() const {
co_return accept();
}
void TCP_Server::start_accept() {
if (accept_pending || !acceptor || state != Working || !acceptor->is_open()) return;
@@ -258,11 +240,6 @@ void TCP_Server::flush_clients() {
}
}
ucoro::awaitable<void> TCP_Server::flush_clients_coro() {
flush_clients();
co_return;
}
void TCP_Server::write_to_all_clients(const std::string& data) {
if (data.empty()) return;
for (auto& [_, conn] : tcp_clients) {
@@ -273,11 +250,6 @@ void TCP_Server::write_to_all_clients(const std::string& data) {
}
}
ucoro::awaitable<void> TCP_Server::write_to_all_clients_coro(std::string data) {
write_to_all_clients(data);
co_return;
}
std::vector<TCP_Server::Read_Info> TCP_Server::read_from_all_clients() {
std::vector<Read_Info> ret;
std::array<char, 16 * 1024> buffer{};
@@ -298,10 +270,6 @@ std::vector<TCP_Server::Read_Info> TCP_Server::read_from_all_clients() {
return ret;
}
ucoro::awaitable<std::vector<TCP_Server::Read_Info>> TCP_Server::read_from_all_clients_coro() {
co_return read_from_all_clients();
}
std::vector<Socket_FD> TCP_Server::client_fds() {
std::vector<Socket_FD> ret;
for (const auto& [fd, conn] : tcp_clients) {