#pragma once
#include <cstdio>
#include <iostream>


class Sdu
{
public:
	Sdu();
	~Sdu();
	
	Sdu(uint16_t ZdrojovaAdresa, uint16_t CilovaAdresa, double AktualiniCas, uint16_t PoradoveCislo, uint8_t Typ, uint16_t _velikost);

	Sdu Sdu::fragmentuj(int16_t velikostPrvnihoFragmentu);
	Sdu Sdu::deFragmentuj(Sdu predchoziFragment);
	int16_t getZdrojovaAdresa();
	void setZdrojovaAdresa(int16_t ZdrojovaAdresa) { zdrojovaAdresa = ZdrojovaAdresa; }

	int16_t getCilovaAdresa() { return cilovaAdresa; }
	void setCilovaAdresa(int16_t CilovaAdresa) { cilovaAdresa = CilovaAdresa; }

	double getcasOdeslani() { return casOdeslani; }
	void setcasOdeslani(int16_t CasOdeslani) { casOdeslani = CasOdeslani; }

	int16_t getporadoveCislo() { return poradoveCislo; }
	void setporadoveCislo(int16_t _poradoveCislo) { poradoveCislo = _poradoveCislo; }

	uint16_t getVelikost() { return velikost; }
	void setVelikost(uint16_t _velikost) { velikost = _velikost; }

	uint8_t getTyp() { return typ; }
	void setTyp(uint8_t Typ) { typ = Typ; }


private:
	int16_t zdrojovaAdresa;
	int16_t cilovaAdresa;
	uint64_t data;
	double casOdeslani;
	int16_t poradoveCislo;
	uint16_t velikost;
	uint8_t typ;
};

