#include "ipcz/router_link_state.h"
#include <cstring>
#include <limits>
#include "ipcz/link_side.h"
namespace ipcz {
namespace {
template <typename T, typename U>
void StoreSaturated(std::atomic<T>& dest, U value) { … }
template <typename T>
T& SelectBySide(LinkSide side, T& for_a, T& for_b) { … }
}
RouterLinkState::RouterLinkState() = default;
RouterLinkState& RouterLinkState::Initialize(void* where) { … }
void RouterLinkState::SetSideStable(LinkSide side) { … }
bool RouterLinkState::TryLock(LinkSide from_side) { … }
void RouterLinkState::Unlock(LinkSide from_side) { … }
bool RouterLinkState::ResetWaitingBit(LinkSide side) { … }
}