A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
status-code.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2006 INRIA
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation;
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 *
17 * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
18 */
19
20#ifndef STATUS_CODE_H
21#define STATUS_CODE_H
22
23#include "ns3/buffer.h"
24
25namespace ns3
26{
27
28/**
29 * Status code for association response.
30 */
32{
33 public:
34 StatusCode();
35 /**
36 * Set success bit to 0 (success).
37 */
38 void SetSuccess();
39 /**
40 * Set success bit to 1 (failure).
41 */
42 void SetFailure();
43
44 /**
45 * Return whether the status code is success.
46 *
47 * \return true if success,
48 * false otherwise
49 */
50 bool IsSuccess() const;
51
52 /**
53 * \returns the expected size of the status code.
54 *
55 * This method should return the number of bytes which are needed to store
56 * the status code data by Serialize.
57 */
59 /**
60 * \param start an iterator which points to where the status code should be written
61 *
62 * \return Buffer::Iterator
63 *
64 * This method is used to store a status code into the byte buffer.
65 * The data written is expected to match bit-for-bit the representation of this
66 * header in a real network.
67 */
69 /**
70 * \param start an iterator which points to where the status code should be read.
71 *
72 * \returns the number of bytes read.
73 *
74 * This method is used to re-create a status code from the byte buffer.
75 * The data read is expected to match bit-for-bit the representation of this
76 * header in real networks.
77 */
79
80 private:
81 uint16_t m_code; ///< status code
82};
83
84/**
85 * Serialize StatusCode to the given ostream.
86 *
87 * \param os the output stream
88 * \param code the StatusCode
89 *
90 * \return std::ostream
91 */
92std::ostream& operator<<(std::ostream& os, const StatusCode& code);
93
94} // namespace ns3
95
96#endif /* STATUS_CODE_H */
iterator in a Buffer instance
Definition: buffer.h:100
Status code for association response.
Definition: status-code.h:32
bool IsSuccess() const
Return whether the status code is success.
Definition: status-code.cc:42
Buffer::Iterator Serialize(Buffer::Iterator start) const
Definition: status-code.cc:54
void SetFailure()
Set success bit to 1 (failure).
Definition: status-code.cc:36
Buffer::Iterator Deserialize(Buffer::Iterator start)
Definition: status-code.cc:61
uint16_t m_code
status code
Definition: status-code.h:81
uint32_t GetSerializedSize() const
Definition: status-code.cc:48
void SetSuccess()
Set success bit to 0 (success).
Definition: status-code.cc:30
Every class exported by the ns3 library is enclosed in the ns3 namespace.
std::ostream & operator<<(std::ostream &os, const Angles &a)
Definition: angles.cc:159