A Discrete-Event Network Simulator
API
three-gpp-http-header.h
Go to the documentation of this file.
1/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2/*
3 * Copyright (c) 2015 Magister Solutions
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation;
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 *
18 * Author: Budiarto Herman <budiarto.herman@magister.fi>
19 *
20 */
21
22#ifndef THREE_GPP_HTTP_HEADER_H
23#define THREE_GPP_HTTP_HEADER_H
24
25#include <ns3/header.h>
26#include <ns3/nstime.h>
27
28
29namespace ns3 {
30
31class Packet;
32
56{
57public:
60
65 static TypeId GetTypeId ();
66
67 // Inherited from ObjectBase base class.
68 virtual TypeId GetInstanceTypeId () const;
69
70 // Inherited from Header base class.
71 virtual uint32_t GetSerializedSize () const;
72 virtual void Serialize (Buffer::Iterator start) const;
74 virtual void Print (std::ostream &os) const;
75
79 std::string ToString () const;
80
83 {
87 };
88
92 void SetContentType (ContentType_t contentType);
93
98
102 void SetContentLength (uint32_t contentLength);
103
107 uint32_t GetContentLength () const;
108
112 void SetClientTs (Time clientTs);
113
117 Time GetClientTs () const;
118
122 void SetServerTs (Time serverTs);
123
127 Time GetServerTs () const;
128
129private:
130 uint16_t m_contentType;
132 uint64_t m_clientTs;
133 uint64_t m_serverTs;
134
135}; // end of `class ThreeGppHttpHeader`
136
137
138} // end of `namespace ns3`
139
140
141#endif /* THREE_GPP_HTTP_HEADER_H */
iterator in a Buffer instance
Definition: buffer.h:99
Protocol header serialization and deserialization.
Definition: header.h:43
Header used by web browsing applications to transmit information about content type,...
void SetClientTs(Time clientTs)
void SetServerTs(Time serverTs)
virtual uint32_t Deserialize(Buffer::Iterator start)
virtual void Serialize(Buffer::Iterator start) const
void SetContentLength(uint32_t contentLength)
void SetContentType(ContentType_t contentType)
ContentType_t
The possible types of content (default = NOT_SET).
@ NOT_SET
Integer equivalent = 0.
@ EMBEDDED_OBJECT
Integer equivalent = 2.
@ MAIN_OBJECT
Integer equivalent = 1.
ThreeGppHttpHeader()
Creates an empty instance .
virtual uint32_t GetSerializedSize() const
uint64_t m_clientTs
" Client time stamp field (in time step unit).
uint32_t m_contentLength
" Content length field (in bytes unit).
virtual TypeId GetInstanceTypeId() const
Get the most derived TypeId for this Object.
virtual void Print(std::ostream &os) const
uint64_t m_serverTs
" Server time stamp field (in time step unit).
ContentType_t GetContentType() const
uint16_t m_contentType
" Content type field in integer format.
static TypeId GetTypeId()
Returns the object TypeId.
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:103
a unique identifier for an interface.
Definition: type-id.h:59
Every class exported by the ns3 library is enclosed in the ns3 namespace.
def start()
Definition: core.py:1853