xrootd
Loading...
Searching...
No Matches
XrdNetPMarkFF.hh
Go to the documentation of this file.
1#ifndef __XRDNETPMARKFF__
2#define __XRDNETPMARKFF__
3/******************************************************************************/
4/* */
5/* X r d N e t P M a r k F F . h h */
6/* */
7/* (c) 2021 by the Board of Trustees of the Leland Stanford, Jr., University */
8/* All Rights Reserved */
9/* Produced by Andrew Hanushevsky for Stanford University under contract */
10/* DE-AC02-76-SFO0515 with the Department of Energy */
11/* */
12/* This file is part of the XRootD software suite. */
13/* */
14/* XRootD is free software: you can redistribute it and/or modify it under */
15/* the terms of the GNU Lesser General Public License as published by the */
16/* Free Software Foundation, either version 3 of the License, or (at your */
17/* option) any later version. */
18/* */
19/* XRootD is distributed in the hope that it will be useful, but WITHOUT */
20/* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */
21/* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */
22/* License for more details. */
23/* */
24/* You should have received a copy of the GNU Lesser General Public License */
25/* along with XRootD in a file called COPYING.LESSER (LGPL license) and file */
26/* COPYING (GPL license). If not, see <http://www.gnu.org/licenses/>. */
27/* */
28/* The copyright holder's institutional names and contributor's names may not */
29/* be used to endorse or promote products derived from this software without */
30/* specific prior written permission of the institution or contributor. */
31/******************************************************************************/
32
33#include "XrdNet/XrdNetPMark.hh"
34
35class XrdNetAddrInfo;
36union XrdNetSockAddr;
37
39{
40public:
41
43
45
47 : XrdNetPMark::Handle(h), tident(tid) {}
48
50
51private:
52
54 {uint64_t bRecv; // Bytes received
55 uint64_t bSent; // Bytes sent
56 uint32_t msRTT; // RTT in milliseconds
57 uint32_t usRTT; // RTT us remainder
58 };
59
60bool Emit(const char *state, const char *cT, const char *eT);
61const char *getUTC(char *utcBuff, int utcBLen);
62void SockStats(struct sockStats &ss);
63
66
67const char *tident;
68char *oDest = 0;
69char *ffHdr = 0;
70char *ffTail = 0;
71int ffTailsz = 0;
72int sockFD =-1;
73bool fdOK = false;
74bool odOK = false;
75};
76#endif
Definition XrdNetAddrInfo.hh:54
Definition XrdNetPMarkFF.hh:39
XrdNetPMark::Handle * xtraFH
Definition XrdNetPMarkFF.hh:65
bool odOK
Definition XrdNetPMarkFF.hh:74
char * ffHdr
Definition XrdNetPMarkFF.hh:69
int ffTailsz
Definition XrdNetPMarkFF.hh:71
void addHandle(XrdNetPMark::Handle *fh)
Definition XrdNetPMarkFF.hh:42
const char * getUTC(char *utcBuff, int utcBLen)
virtual ~XrdNetPMarkFF()
char * oDest
Definition XrdNetPMarkFF.hh:68
bool Start(XrdNetAddrInfo &addr)
XrdNetSockAddr * mySad
Definition XrdNetPMarkFF.hh:64
bool Emit(const char *state, const char *cT, const char *eT)
bool fdOK
Definition XrdNetPMarkFF.hh:73
void SockStats(struct sockStats &ss)
int sockFD
Definition XrdNetPMarkFF.hh:72
char * ffTail
Definition XrdNetPMarkFF.hh:70
XrdNetPMarkFF(XrdNetPMark::Handle &h, const char *tid)
Definition XrdNetPMarkFF.hh:46
const char * tident
Definition XrdNetPMarkFF.hh:67
Definition XrdNetPMark.hh:43
Handle(const char *app=0, int ecode=0, int acode=0)
Definition XrdNetPMark.hh:52
Definition XrdNetPMark.hh:39
Definition XrdNetPMarkFF.hh:54
uint64_t bSent
Definition XrdNetPMarkFF.hh:55
uint32_t msRTT
Definition XrdNetPMarkFF.hh:56
uint64_t bRecv
Definition XrdNetPMarkFF.hh:54
uint32_t usRTT
Definition XrdNetPMarkFF.hh:57
Definition XrdNetSockAddr.hh:43