#pragma once

#include "network/SessionId.hpp"

#include "message_protocol/MessageConnection.hpp"

#include <cstdint>

namespace tw::net {

/**
 * Session with the player's client.
 */
struct PlayerSession {
public:
    SessionId session_id;

    msg::MessageConnection* connection;

    uint32_t last_received_frame;
    uint32_t acked_frame;

    PlayerSession(SessionId session_id, msg::MessageConnection* connection) :
        session_id(session_id),
        connection(connection),
        last_received_frame(0),
        acked_frame(0)
    { }
};

}
