src/lte/model/lte-pdcp-tag.h
author Manuel Requena <manuel.requena@cttc.es>
Tue, 26 Mar 2013 10:41:49 +0100
changeset 10019 6efd95740e39
parent 8704 207fc5214d3c
child 10425 1867d8c25aa7
permissions -rw-r--r--
Add automatic triger of the HO based on the RSRQ measures
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7901
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
     1
/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
     2
/*
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
     3
 * Copyright (c) 2011 CTTC
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
     4
 *
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License version 2 as
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
     7
 * published by the Free Software Foundation;
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
     8
 *
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    12
 * GNU General Public License for more details.
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    13
 *
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    17
 *
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    18
 * Author: Jaume Nin <jaume.nin@cttc.es>
8402
d53afd161c0a added PDCP stats
Nicola Baldo <nbaldo@cttc.es>
parents: 8374
diff changeset
    19
 *         Nicola Baldo <nbaldo@cttc.es>
7901
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    20
 */
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    21
8402
d53afd161c0a added PDCP stats
Nicola Baldo <nbaldo@cttc.es>
parents: 8374
diff changeset
    22
#ifndef PDCP_TAG_H
d53afd161c0a added PDCP stats
Nicola Baldo <nbaldo@cttc.es>
parents: 8374
diff changeset
    23
#define PDCP_TAG_H
7901
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    24
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    25
#include "ns3/packet.h"
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    26
#include "ns3/nstime.h"
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    27
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    28
8148
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 7901
diff changeset
    29
namespace ns3 {
7901
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    30
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    31
class Tag;
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    32
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    33
/**
8402
d53afd161c0a added PDCP stats
Nicola Baldo <nbaldo@cttc.es>
parents: 8374
diff changeset
    34
 * Tag to calculate the per-PDU delay from eNb PDCP to UE PDCP
7901
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    35
 */
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    36
8402
d53afd161c0a added PDCP stats
Nicola Baldo <nbaldo@cttc.es>
parents: 8374
diff changeset
    37
class PdcpTag : public Tag
7901
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    38
{
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    39
public:
8148
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 7901
diff changeset
    40
  static TypeId  GetTypeId (void);
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 7901
diff changeset
    41
  virtual TypeId  GetInstanceTypeId (void) const;
7901
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    42
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    43
  /**
8402
d53afd161c0a added PDCP stats
Nicola Baldo <nbaldo@cttc.es>
parents: 8374
diff changeset
    44
   * Create an empty PDCP tag
7901
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    45
   */
8402
d53afd161c0a added PDCP stats
Nicola Baldo <nbaldo@cttc.es>
parents: 8374
diff changeset
    46
  PdcpTag ();
7901
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    47
  /**
8402
d53afd161c0a added PDCP stats
Nicola Baldo <nbaldo@cttc.es>
parents: 8374
diff changeset
    48
   * Create an PDCP tag with the given senderTimestamp
7901
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    49
   */
8402
d53afd161c0a added PDCP stats
Nicola Baldo <nbaldo@cttc.es>
parents: 8374
diff changeset
    50
  PdcpTag (Time senderTimestamp);
7901
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    51
8148
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 7901
diff changeset
    52
  virtual void  Serialize (TagBuffer i) const;
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 7901
diff changeset
    53
  virtual void  Deserialize (TagBuffer i);
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 7901
diff changeset
    54
  virtual uint32_t  GetSerializedSize () const;
7901
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    55
  virtual void Print (std::ostream &os) const;
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    56
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    57
  /**
8402
d53afd161c0a added PDCP stats
Nicola Baldo <nbaldo@cttc.es>
parents: 8374
diff changeset
    58
   * Get the instant when the PDCP delivers the PDU to the MAC SAP provider
7901
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    59
   */
8704
207fc5214d3c removed inline methods from LtePdcpTag
Nicola Baldo <nbaldo@cttc.es>
parents: 8402
diff changeset
    60
  Time  GetSenderTimestamp (void) const;
7901
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    61
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    62
  /**
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    63
   * Set the sender timestamp
8402
d53afd161c0a added PDCP stats
Nicola Baldo <nbaldo@cttc.es>
parents: 8374
diff changeset
    64
   * @param senderTimestamp time stamp of the instant when the PDCP delivers the PDU to the MAC SAP provider
7901
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    65
   */
8704
207fc5214d3c removed inline methods from LtePdcpTag
Nicola Baldo <nbaldo@cttc.es>
parents: 8402
diff changeset
    66
  void  SetSenderTimestamp (Time senderTimestamp);
7901
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    67
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    68
private:
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    69
  Time m_senderTimestamp;
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    70
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    71
};
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    72
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    73
} //namespace ns3
2451f71f1ce4 Added attributes to enable access to RLC instances in Enb
jnin
parents:
diff changeset
    74
8402
d53afd161c0a added PDCP stats
Nicola Baldo <nbaldo@cttc.es>
parents: 8374
diff changeset
    75
#endif /* PDCP_TAG_H */