VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
splitContentTimer.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
10 
11 #include <map>
12 #include <vlutil/vlTime.h>
13 
14 typedef void (*DtSplitContentExpiredFcn)(const DtSplitMessageKey& key, void *pUsr);
15 
23 {
24 public:
25 
27  typedef std::map<DtSplitMessageKey, DtTime> DtTimeoutMap;
28 
29 public:
30 
33 
35  virtual ~DtSplitContentTimer();
36 
39  virtual void addTimeoutEntry(const DtSplitMessageKey& key, DtTime startTime);
40 
42  virtual void clear();
43 
49  virtual void evaluateTimeouts(DtTime timeNow, DtSplitContentExpiredFcn pFcn, void* pUsr);
50 
52  virtual bool findEntry(const DtSplitMessageKey& key, DtTime& retTime);
53 
56  virtual DtTime lastTimeoutCheckTime() const;
57  virtual void setLastTimeoutCheckTime(DtTime nTime);
59 
62  virtual DtTime timeoutCheckInterval() const;
63  virtual void setTimeoutCheckInterval(DtTime nSecs);
65 
68  virtual DtTime timeoutDuration() const;
69  virtual void setTimeoutDuration(DtTime nSecs);
71 
73  virtual void removeTimeoutEntry(const DtSplitMessageKey& key);
74 
75 protected:
76 
80 
81  const DtSplitContentTimer& operator=(
82  const DtSplitContentTimer& orig);
84 
85 protected:
90 
93 };
94 
96 {
97  return (myLastTimeoutCheckTime);
98 }
99 
101 {
102  myLastTimeoutCheckTime = nTime;
103 }
104 
106 {
107  return (myTimeoutCheckInterval);
108 }
109 
111 {
112  myTimeoutCheckInterval = nSecs;
113 }
114 
116 {
117  return (myTimeoutDuration);
118 }
119 
121 {
122  myTimeoutDuration = nSecs;
123 }
static const DtTime theDefaultTimeoutDuration
Definition: splitContentTimer.h:92
DtTime myLastTimeoutCheckTime
Definition: splitContentTimer.h:86
DtTime myTimeoutCheckInterval
Definition: splitContentTimer.h:87
virtual DtTime timeoutDuration() const
time, in seconds, before an entry is considered expired.
Definition: splitContentTimer.h:115
virtual void setTimeoutDuration(DtTime nSecs)
time, in seconds, before an entry is considered expired.
Definition: splitContentTimer.h:120
virtual void setTimeoutCheckInterval(DtTime nSecs)
time, in seconds, that the collection should be revisited for evaluation.
Definition: splitContentTimer.h:110
DtTimeoutMap myTimeoutMap
Definition: splitContentTimer.h:89
std::map< DtSplitMessageKey, DtTime > DtTimeoutMap
A collection of message ID and timeout time pairs.
Definition: splitContentTimer.h:27
void(* DtSplitContentExpiredFcn)(const DtSplitMessageKey &key, void *pUsr)
Definition: splitContentTimer.h:14
static const DtTime theDefaultTimeoutCheckInterval
Definition: splitContentTimer.h:91
Class: DtSplitMessageKey.
Definition: splitMessageKey.h:23
virtual DtTime lastTimeoutCheckTime() const
returns the last time a full check was made.
Definition: splitContentTimer.h:95
This class helps DtVrfMessageInterface handle big messages. DtSplitContentTimer is a simple class tha...
Definition: splitContentTimer.h:22
virtual void setLastTimeoutCheckTime(DtTime nTime)
returns the last time a full check was made.
Definition: splitContentTimer.h:100
DtTime myTimeoutDuration
Definition: splitContentTimer.h:88
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
virtual DtTime timeoutCheckInterval() const
time, in seconds, that the collection should be revisited for evaluation.
Definition: splitContentTimer.h:105

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)