VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
runtimeEvenDistributionLoadBalancer.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
11 
12 #include "vrfutil/vrfutilDefines.h"
13 #include "vrfutil/backend.h"
14 #include <string>
15 
16 class DtString;
17 class DtAddressMap;
18 class DtList;
19 class DtVrfFileParser;
20 
22 {
23 public:
24 
27 
30 
34  static bool balance(DtAddressMap* map, const DtVrfFileParser*, const DtList* backends, bool& remapped, void* usr, const DtString&);
35  static std::string Type() { return "DtRuntimeEvenDistributionLoadBalancer"; };
36 
37 protected:
38  typedef std::map<int, std::vector<DtSimulationAddress> > Scores;
40  {
41  BackendStatus() : score(0), loaded(false) {};
42 
43  DtBackend::ObjectCounts objectCounts;
44  int score;
45  bool loaded;
46  };
47 
48  typedef std::map<DtString, BackendStatus> Backends;
49 
51  static int totalScore(const DtBackend::ObjectCounts&);
52 
54  static int score(int kind, int category);
55 
56 private:
57 
60 
63 };
bool loaded
Definition: runtimeEvenDistributionLoadBalancer.h:45
static std::string Type()
Definition: runtimeEvenDistributionLoadBalancer.h:35
Definition: addressMap.h:24
Definition: runtimeEvenDistributionLoadBalancer.h:39
Definition: runtimeEvenDistributionLoadBalancer.h:21
std::map< short, int > ObjectCounts
Definition: backend.h:84
#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
Definition: vrfFileParser.h:30
std::map< DtString, BackendStatus > Backends
Definition: runtimeEvenDistributionLoadBalancer.h:48
int score
Definition: runtimeEvenDistributionLoadBalancer.h:44

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)