chromium/third_party/openscreen/src/osp/public/instance_request_ids.h

// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef OSP_PUBLIC_INSTANCE_REQUEST_IDS_H_
#define OSP_PUBLIC_INSTANCE_REQUEST_IDS_H_

#include <cstdint>
#include <map>

namespace openscreen::osp {

// Tracks the next available message request ID per instance by its instance
// id. These can only be incremented while an instance is connected but can
// be reset on disconnection.  This is necessary because all APIs that use CBOR
// messages across a QUIC stream share the `request_id` field, which must be
// unique within a pair of instances.
class InstanceRequestIds final {};

}  // namespace openscreen::osp

#endif  // OSP_PUBLIC_INSTANCE_REQUEST_IDS_H_