diff options
author | FearlessTobi <thm.frey@gmail.com> | 2022-09-12 22:39:18 +0200 |
---|---|---|
committer | FearlessTobi <thm.frey@gmail.com> | 2022-09-20 19:36:32 +0200 |
commit | 4213f1c126afda9c5235c868ded4e7d95438bffc (patch) | |
tree | afc604f144281afbd45ce8a757f1d1fbb020018b /src/core/hle/service/ldn/lan_discovery.cpp | |
parent | dedicated_room: fix token padding ... (diff) | |
download | yuzu-4213f1c126afda9c5235c868ded4e7d95438bffc.tar yuzu-4213f1c126afda9c5235c868ded4e7d95438bffc.tar.gz yuzu-4213f1c126afda9c5235c868ded4e7d95438bffc.tar.bz2 yuzu-4213f1c126afda9c5235c868ded4e7d95438bffc.tar.lz yuzu-4213f1c126afda9c5235c868ded4e7d95438bffc.tar.xz yuzu-4213f1c126afda9c5235c868ded4e7d95438bffc.tar.zst yuzu-4213f1c126afda9c5235c868ded4e7d95438bffc.zip |
Diffstat (limited to 'src/core/hle/service/ldn/lan_discovery.cpp')
-rw-r--r-- | src/core/hle/service/ldn/lan_discovery.cpp | 49 |
1 files changed, 19 insertions, 30 deletions
diff --git a/src/core/hle/service/ldn/lan_discovery.cpp b/src/core/hle/service/ldn/lan_discovery.cpp index b04c99077..8f3c04550 100644 --- a/src/core/hle/service/ldn/lan_discovery.cpp +++ b/src/core/hle/service/ldn/lan_discovery.cpp @@ -35,12 +35,9 @@ void LanStation::OverrideInfo() { LANDiscovery::LANDiscovery(Network::RoomNetwork& room_network_) : stations({{{1, this}, {2, this}, {3, this}, {4, this}, {5, this}, {6, this}, {7, this}}}), - room_network{room_network_} { - LOG_INFO(Service_LDN, "LANDiscovery"); -} + room_network{room_network_} {} LANDiscovery::~LANDiscovery() { - LOG_INFO(Service_LDN, "~LANDiscovery"); if (inited) { Result rc = Finalize(); LOG_INFO(Service_LDN, "Finalize: {}", rc.raw); @@ -62,7 +59,7 @@ void LANDiscovery::InitNetworkInfo() { } void LANDiscovery::InitNodeStateChange() { - for (auto& node_update : nodeChanges) { + for (auto& node_update : node_changes) { node_update.state_change = NodeStateChange::None; } for (auto& node_state : node_last_states) { @@ -97,8 +94,8 @@ Result LANDiscovery::GetNetworkInfo(NetworkInfo& out_network, if (state == State::AccessPointCreated || state == State::StationConnected) { std::memcpy(&out_network, &network_info, sizeof(network_info)); for (std::size_t i = 0; i < buffer_count; i++) { - out_updates[i].state_change = nodeChanges[i].state_change; - nodeChanges[i].state_change = NodeStateChange::None; + out_updates[i].state_change = node_changes[i].state_change; + node_changes[i].state_change = NodeStateChange::None; } return ResultSuccess; } @@ -168,9 +165,9 @@ Result LANDiscovery::Scan(std::vector<NetworkInfo>& networks, u16& count, return ResultSuccess; } -Result LANDiscovery::SetAdvertiseData(std::vector<u8>& data) { +Result LANDiscovery::SetAdvertiseData(std::span<const u8> data) { std::scoped_lock lock{packet_mutex}; - std::size_t size = data.size(); + const std::size_t size = data.size(); if (size > AdvertiseDataSizeMax) { return ResultAdvertiseDataTooLarge; } @@ -288,7 +285,7 @@ Result LANDiscovery::DestroyNetwork() { ResetStations(); SetState(State::AccessPointOpened); - LanEvent(); + lan_event(); return ResultSuccess; } @@ -323,12 +320,12 @@ Result LANDiscovery::Disconnect() { } SetState(State::StationOpened); - LanEvent(); + lan_event(); return ResultSuccess; } -Result LANDiscovery::Initialize(LanEventFunc lan_event, bool listening) { +Result LANDiscovery::Initialize(LanEventFunc lan_event_, bool listening) { std::scoped_lock lock{packet_mutex}; if (inited) { return ResultSuccess; @@ -341,7 +338,7 @@ Result LANDiscovery::Initialize(LanEventFunc lan_event, bool listening) { } connected_clients.clear(); - LanEvent = lan_event; + lan_event = lan_event_; SetState(State::Initialized); @@ -408,13 +405,13 @@ void LANDiscovery::OnDisconnectFromHost() { host_ip = std::nullopt; if (state == State::StationConnected) { SetState(State::StationOpened); - LanEvent(); + lan_event(); } } void LANDiscovery::OnNetworkInfoChanged() { if (IsNodeStateChanged()) { - LanEvent(); + lan_event(); } return; } @@ -439,7 +436,6 @@ void LANDiscovery::SendPacket(Network::LDNPacketType type, const Data& data, packet.local_ip = GetLocalIp(); packet.remote_ip = remote_ip; - packet.data.clear(); packet.data.resize(sizeof(data)); std::memcpy(packet.data.data(), &data, sizeof(data)); SendPacket(packet); @@ -453,7 +449,6 @@ void LANDiscovery::SendPacket(Network::LDNPacketType type, Ipv4Address remote_ip packet.local_ip = GetLocalIp(); packet.remote_ip = remote_ip; - packet.data.clear(); SendPacket(packet); } @@ -465,7 +460,6 @@ void LANDiscovery::SendBroadcast(Network::LDNPacketType type, const Data& data) packet.broadcast = true; packet.local_ip = GetLocalIp(); - packet.data.clear(); packet.data.resize(sizeof(data)); std::memcpy(packet.data.data(), &data, sizeof(data)); SendPacket(packet); @@ -478,7 +472,6 @@ void LANDiscovery::SendBroadcast(Network::LDNPacketType type) { packet.broadcast = true; packet.local_ip = GetLocalIp(); - packet.data.clear(); SendPacket(packet); } @@ -581,9 +574,9 @@ bool LANDiscovery::IsNodeStateChanged() { for (int i = 0; i < NodeCountMax; i++) { if (nodes[i].is_connected != node_last_states[i]) { if (nodes[i].is_connected) { - nodeChanges[i].state_change |= NodeStateChange::Connect; + node_changes[i].state_change |= NodeStateChange::Connect; } else { - nodeChanges[i].state_change |= NodeStateChange::Disconnect; + node_changes[i].state_change |= NodeStateChange::Disconnect; } node_last_states[i] = nodes[i].is_connected; changed = true; @@ -598,15 +591,11 @@ bool LANDiscovery::IsFlagSet(ScanFilterFlag flag, ScanFilterFlag search_flag) co return (flag_value & search_flag_value) == search_flag_value; } -int LANDiscovery::GetStationCount() { - int count = 0; - for (const auto& station : stations) { - if (station.GetStatus() != NodeStatus::Disconnected) { - count++; - } - } - - return count; +int LANDiscovery::GetStationCount() const { + return static_cast<int>( + std::count_if(stations.begin(), stations.end(), [](const auto& station) { + return station.GetStatus() != NodeStatus::Disconnected; + })); } MacAddress LANDiscovery::GetFakeMac() const { |