/usr/include/root/TParallelMergingFile.h is in libroot-net-dev 5.34.19+dfsg-1.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | // @(#)root/net:$Id$
// Author: Philippe Canal October 2011.
/*************************************************************************
* Copyright (C) 1995-2011, Rene Brun, Fons Rademakers and al. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TParallelMergingFile
#define ROOT_TParallelMergingFile
//////////////////////////////////////////////////////////////////////////
// //
// TParallelMergingFile //
// //
// Specialization of TMemFile to connect to a parallel file merger. //
// Upon a call to UploadAndReset, the content already written to the //
// file is upload to the server and the object implementing the function//
// ResetAfterMerge (like TTree) are reset. //
// The parallel file merger will then collate the information coming //
// from this client and any other client in to the file described by //
// the filename of this object. //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TMemFile
#include "TMemFile.h"
#endif
#ifndef ROOT_TMessage
#include "TMessage.h"
#endif
#ifndef ROOT_TUrl
#include "TUrl.h"
#endif
class TSocket;
class TArrayC;
class TParallelMergingFile : public TMemFile
{
private:
TSocket *fSocket; // Socket to the parallel file merger server.
TUrl fServerLocation; // Url of the server.
Int_t fServerIdx; // Index of this socket/file on the server.
Int_t fServerVersion; // Protocol version used by the server.
TArrayC *fClassSent; // Record which StreamerInfo we already sent.
TMessage fMessage;
public:
TParallelMergingFile(const char *filename, Option_t *option = "", const char *ftitle = "", Int_t compress = 1);
~TParallelMergingFile();
virtual void Close(Option_t *option="");
Bool_t UploadAndReset();
virtual Int_t Write(const char *name=0, Int_t opt=0, Int_t bufsiz=0);
virtual Int_t Write(const char *name=0, Int_t opt=0, Int_t bufsiz=0) const;
virtual void WriteStreamerInfo();
ClassDef(TParallelMergingFile,2); // TFile specialization that will semi-automatically upload its content to a merging server.
};
#endif // ROOT_TParallelMergingFile
|