Finish std::shared_ptr -> Ref migration

This commit is contained in:
2025-09-11 15:06:04 -04:00
parent a2da7fba84
commit 0561d951d4
5 changed files with 34 additions and 24 deletions

View File

@@ -3,13 +3,13 @@
#include <cassert>
#include <cstring>
#include <deque>
#include <memory>
#include <sys/socket.h>
#include <sys/uio.h>
#include <unistd.h>
#include "arena.hpp"
#include "connection_handler.hpp"
#include "reference.hpp"
#ifndef __has_feature
#define __has_feature(x) 0
@@ -330,7 +330,8 @@ private:
* @param server Reference to server associated with this connection
*/
Connection(struct sockaddr_storage addr, int fd, int64_t id,
size_t epoll_index, ConnectionHandler *handler, Server &server);
size_t epoll_index, ConnectionHandler *handler,
WeakRef<Server> server);
// Networking interface - only accessible by Server
int readBytes(char *buf, size_t buffer_size);
@@ -347,7 +348,7 @@ private:
struct sockaddr_storage addr_; // sockaddr_storage handles IPv4/IPv6
Arena arena_;
ConnectionHandler *handler_;
std::weak_ptr<Server> server_; // Weak reference to server for safe cleanup
WeakRef<Server> server_; // Weak reference to server for safe cleanup
std::deque<std::string_view, ArenaStlAllocator<std::string_view>> messages_{
ArenaStlAllocator<std::string_view>{&arena_}};