Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#ifndef _MNLBUIDATA_H
#define _MNLBUIDATA_H
//
// Copyright (c) Microsoft. All Rights Reserved
//
// THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF Microsoft.
// The copyright notice above does not evidence any
// actual or intended publication of such source code.
//
// OneLiner : muidata interface file.
// DevUnit : wlbstest
// Author : Murtaza Hakim
//
// Description:
// -----------
// This data structure is as follows
//
// ClusterData has inforamtion about
// cluster
// portrules
// and hosts.
//
// The portRules are map structures with the start port mapping to the detailed port rule.
//
// the portrules unequal load balanced have a map which maps the host id and the
// load weight for that particular host.
//
// the portrules failover have a map which maps the host id and the
// priority for that particular host.
//
//
#include "Common.h"
#include "MNLBPortRule.h"
#include <wbemidl.h>
#include <comdef.h>
#include <set>
#include <map>
using namespace std;
struct PortDataULB : public MNLBPortRuleLoadBalanced { map< _bstr_t, long > machineMapToLoadWeight;
// default constructor
PortDataULB();
// constructor
PortDataULB( long startPort, long endPort, Protocol traficToHandle, Affinity affinity ); };
struct PortDataELB : public MNLBPortRuleLoadBalanced { // default constructor
PortDataELB();
// constructor
PortDataELB( long startPort, long endPort, Protocol traficToHandle, Affinity affinity );
// equality operator
bool operator==( const PortDataELB& objToCompare );
// inequality
bool operator!=( const PortDataELB& objToCompare );
};
struct PortDataD : public MNLBPortRuleDisabled { // default constructor
PortDataD();
// constructor
PortDataD( long startPort, long endPort, Protocol traficToHandle );
// equality operator
bool operator==( const PortDataD& objToCompare );
// inequality
bool operator!=( const PortDataD& objToCompare );
};
struct PortDataF : public MNLBPortRuleFailover { map< _bstr_t, long > machineMapToPriority; set<long> getAvailablePriorities();
// default constructor
PortDataF();
PortDataF( long startPort, long endPort, Protocol traficToHandle );
};
struct HostData { HostProperties hp; _bstr_t connectionIP; };
struct ClusterData { vector<_bstr_t> virtualIPs; vector<_bstr_t> virtualSubnets;
ClusterProperties cp;
map< long, PortDataELB> portELB; map< long, PortDataULB> portULB; map< long, PortDataD> portD; map< long, PortDataF> portF;
map< _bstr_t, HostData> hosts;
set<int> getAvailableHostIDS();
bool connectedDirect;
void dump(); };
#endif
|