diff options
author | Luca Muscariello <lumuscar+fdio@cisco.com> | 2017-02-25 23:42:31 +0100 |
---|---|---|
committer | Luca Muscariello <lumuscar+fdio@cisco.com> | 2017-02-25 23:42:31 +0100 |
commit | 05c1a838c881ea502888659848d8792843b28718 (patch) | |
tree | cf0b05b58bd725a1eb6c80325ba986c63dea42aa /libdash/source/metrics/HTTPTransaction.h | |
parent | 9b30fc10fb1cbebe651e5a107e8ca5b24de54675 (diff) |
Initial commit: video player - viper
Change-Id: Id5aa33598ce34659bad4a7a9ae5006bfb84f9bd1
Signed-off-by: Luca Muscariello <lumuscar+fdio@cisco.com>
Diffstat (limited to 'libdash/source/metrics/HTTPTransaction.h')
-rw-r--r-- | libdash/source/metrics/HTTPTransaction.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/libdash/source/metrics/HTTPTransaction.h b/libdash/source/metrics/HTTPTransaction.h new file mode 100644 index 00000000..77c69234 --- /dev/null +++ b/libdash/source/metrics/HTTPTransaction.h @@ -0,0 +1,68 @@ +/* + * HTTPTransaction.h + ***************************************************************************** + * Copyright (C) 2012, bitmovin Softwareentwicklung OG, All Rights Reserved + * + * Email: libdash-dev@vicky.bitmovin.net + * + * This source code and its use and distribution, is subject to the terms + * and conditions of the applicable license agreement. + *****************************************************************************/ + +#ifndef HTTPTRANSACTION_H_ +#define HTTPTRANSACTION_H_ + +#include "IHTTPTransaction.h" +#include "ThroughputMeasurement.h" + +namespace dash +{ + namespace metrics + { + class HTTPTransaction : public IHTTPTransaction + { + public: + HTTPTransaction (); + virtual ~HTTPTransaction (); + + uint32_t TCPId () const; + HTTPTransactionType Type () const; + const std::string& OriginalUrl () const; + const std::string& ActualUrl () const; + const std::string& Range () const; + const std::string& RequestSentTime () const; + const std::string& ResponseReceivedTime () const; + uint16_t ResponseCode () const; + uint64_t Interval () const; + const std::vector<IThroughputMeasurement *>& ThroughputTrace () const; + const std::string& HTTPHeader () const; + + void SetTCPId (uint32_t tcpId); + void SetType (HTTPTransactionType type); + void SetOriginalUrl (const std::string& origUrl); + void SetActualUrl (const std::string& actUrl); + void SetRange (const std::string& range); + void SetRequestSentTime (std::string tRequest); + void SetResponseReceivedTime (std::string tResponse); + void SetResponseCode (uint16_t respCode); + void SetInterval (uint64_t interval); + void AddThroughputMeasurement (ThroughputMeasurement *throuputEntry); + void AddHTTPHeaderLine (std::string headerLine); + + private: + uint32_t tcpId; + HTTPTransactionType type; + std::string url; + std::string actualUrl; + std::string range; + std::string tRequest; + std::string tResponse; + uint16_t responseCode; + uint64_t interval; + std::vector<ThroughputMeasurement *> trace; + std::string httpHeader; + }; + } +} + +#endif /* HTTPTRANSACTION_H_ */ |