DESERT 3.5.1
Loading...
Searching...
No Matches
packer-uwcsma-ca.h
Go to the documentation of this file.
1//
2// Copyright (c) 2017 Regents of the SIGNET lab, University of Padova.
3// All rights reserved.
4//
5// Redistribution and use in source and binary forms, with or without
6// modification, are permitted provided that the following conditions
7// are met:
8// 1. Redistributions of source code must retain the above copyright
9// notice, this list of conditions and the following disclaimer.
10// 2. Redistributions in binary form must reproduce the above copyright
11// notice, this list of conditions and the following disclaimer in the
12// documentation and/or other materials provided with the distribution.
13// 3. Neither the name of the University of Padova (SIGNET lab) nor the
14// names of its contributors may be used to endorse or promote products
15// derived from this software without specific prior written permission.
16//
17// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
21// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
24// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
26// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
27// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
36#ifndef PACKER_UWCSMA_CA_H
37#define PACKER_UWCSMA_CA_H
38
39#include "packer.h"
40
41#include "uw-csma-ca.h"
42#include "mac.h"
43
44#include <iostream>
45
49class packerUwCsmaCa : public packer
50{
51public:
57
63
64private:
68 void init();
76 size_t packMyHdr(Packet *, unsigned char *, size_t);
85 size_t unpackMyHdr(unsigned char *, size_t, Packet *);
90 void printMyHdrMap();
96 void printMyHdrFields(Packet *);
97
99};
100
101#endif
Class to map a UwCsma-Ca header into a bit stream, and vice-versa.
size_t packMyHdr(Packet *, unsigned char *, size_t)
Method to transform the headers of UwCsma-Ca into a stream of bits.
void printMyHdrFields(Packet *)
Method used for debug purposes.
~packerUwCsmaCa()
Class destructor.
packerUwCsmaCa()
Class constructor.
size_t unpackMyHdr(unsigned char *, size_t, Packet *)
Method responsible to take the informations from the received buffer and store it into the headers of...
void printMyHdrMap()
Method used for debug purposes.
void init()
Init the Packer.
Class exploited by the Uwal module to map an NS-Miracle packet into a bit stream, and vice-versa.
Definition packer.h:57
Header of the class responsible to map an NS-Miracle packet into a bit stream, and vice-versa.
Provides the description of CsmaCa Class.