A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
common-info-probe-req-mle.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 * Author: Sharan Naribole <sharan.naribole@gmail.com>
7 */
8
9#ifndef COMMON_INFO_PROBE_REQ_MLE_H
10#define COMMON_INFO_PROBE_REQ_MLE_H
11
12#include "ns3/buffer.h"
13
14#include <cstdint>
15#include <optional>
16
17namespace ns3
18{
19
20/**
21 * Common Info field of Multi-link Element Probe Request variant.
22 * IEEE 802.11be D6.0 9.4.2.321.3
23 */
25{
26 std::optional<uint8_t> m_apMldId; ///< AP MLD ID
27
28 /**
29 * Get the Presence Bitmap subfield of the Common Info field
30 *
31 * @return the Presence Bitmap subfield of the Common Info field
32 */
33 uint16_t GetPresenceBitmap() const;
34
35 /**
36 * Get the size of the serialized Common Info field
37 *
38 * @return the size of the serialized Common Info field
39 */
40 uint8_t GetSize() const;
41
42 /**
43 * Serialize the Common Info field
44 *
45 * @param start iterator pointing to where the Common Info field should be written to
46 */
47 void Serialize(Buffer::Iterator& start) const;
48
49 /**
50 * Deserialize the Common Info field
51 *
52 * @param start iterator pointing to where the Common Info field should be read from
53 * @param presence the value of the Presence Bitmap field indicating which subfields
54 * are present in the Common Info field
55 * @return the number of bytes read
56 */
57 uint8_t Deserialize(Buffer::Iterator start, uint16_t presence);
58};
59
60} // namespace ns3
61
62#endif // COMMON_INFO_PROBE_REQ_MLE_H
iterator in a Buffer instance
Definition buffer.h:89
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Common Info field of Multi-link Element Probe Request variant.
std::optional< uint8_t > m_apMldId
AP MLD ID.
void Serialize(Buffer::Iterator &start) const
Serialize the Common Info field.
uint16_t GetPresenceBitmap() const
Get the Presence Bitmap subfield of the Common Info field.
uint8_t Deserialize(Buffer::Iterator start, uint16_t presence)
Deserialize the Common Info field.
uint8_t GetSize() const
Get the size of the serialized Common Info field.