#include "ipcz/trap_set.h"
#include <algorithm>
#include <utility>
#include "ipcz/api_context.h"
#include "ipcz/ipcz.h"
#include "ipcz/trap_event_dispatcher.h"
#include "third_party/abseil-cpp/absl/base/macros.h"
#include "util/ref_counted.h"
#include "util/safe_math.h"
namespace ipcz {
TrapSet::TrapSet() = default;
TrapSet::~TrapSet() { … }
IpczResult TrapSet::Add(const IpczTrapConditions& conditions,
IpczTrapEventHandler handler,
uintptr_t context,
IpczPortalStatusFlags status_flags,
ParcelQueue& inbound_parcel_queue,
IpczTrapConditionFlags* satisfied_condition_flags,
IpczPortalStatus* status) { … }
void TrapSet::NotifyNewLocalParcel(IpczPortalStatusFlags status_flags,
ParcelQueue& inbound_parcel_queue,
TrapEventDispatcher& dispatcher) { … }
void TrapSet::NotifyLocalParcelConsumed(IpczPortalStatusFlags status_flags,
ParcelQueue& inbound_parcel_queue,
TrapEventDispatcher& dispatcher) { … }
void TrapSet::NotifyPeerClosed(IpczPortalStatusFlags status_flags,
ParcelQueue& inbound_parcel_queue,
TrapEventDispatcher& dispatcher) { … }
void TrapSet::RemoveAll(TrapEventDispatcher& dispatcher) { … }
IpczTrapConditionFlags TrapSet::GetSatisfiedConditionsForUpdate(
const IpczTrapConditions& conditions,
IpczPortalStatusFlags status_flags,
ParcelQueue& inbound_parcel_queue,
UpdateReason reason) { … }
void TrapSet::UpdatePortalStatus(IpczPortalStatusFlags status_flags,
ParcelQueue& inbound_parcel_queue,
UpdateReason reason,
TrapEventDispatcher& dispatcher) { … }
TrapSet::Trap::Trap(IpczTrapConditions conditions,
IpczTrapEventHandler handler,
uintptr_t context)
: … { … }
TrapSet::Trap::~Trap() = default;
}