diff --git a/modules/ripple_core/functional/ripple_ILoadFeeTrack.h b/modules/ripple_core/functional/ripple_ILoadFeeTrack.h index 9143816936..9662aaa896 100644 --- a/modules/ripple_core/functional/ripple_ILoadFeeTrack.h +++ b/modules/ripple_core/functional/ripple_ILoadFeeTrack.h @@ -32,19 +32,20 @@ public: // Scale using load as well as base rate virtual uint64 scaleFeeLoad (uint64 fee, uint64 baseFee, uint32 referenceFeeUnits, bool bAdmin) = 0; - // VFALCO NOTE These appear to be unused, so I'm hiding the declarations. + // VFALCO NOTE This appears to be unused, so I'm hiding the declaration. // - //virtual uint32 getRemoteFee () = 0; - //virtual uint32 getLocalFee () = 0; //virtual void setRemoteFee (uint32) = 0; + virtual uint32 getRemoteFee () = 0; + virtual uint32 getLocalFee () = 0; + virtual uint32 getClusterFee () = 0; + virtual uint32 getLoadBase () = 0; virtual uint32 getLoadFactor () = 0; virtual Json::Value getJson (uint64 baseFee, uint32 referenceFeeUnits) = 0; virtual void setClusterFee (uint32) = 0; - virtual uint32 getClusterFee () = 0; virtual bool raiseLocalFee () = 0; virtual bool lowerLocalFee () = 0; virtual bool isLoadedLocal () = 0; diff --git a/modules/ripple_core/functional/ripple_LoadFeeTrack.h b/modules/ripple_core/functional/ripple_LoadFeeTrack.h index c74e16e5c6..52358f9ec3 100644 --- a/modules/ripple_core/functional/ripple_LoadFeeTrack.h +++ b/modules/ripple_core/functional/ripple_LoadFeeTrack.h @@ -77,7 +77,7 @@ public: uint32 getLoadFactor () { boost::mutex::scoped_lock sl (mLock); - return std::max (mLocalTxnLoadFee, mRemoteTxnLoadFee); + return std::max(mClusterTxnLoadFee, std::max (mLocalTxnLoadFee, mRemoteTxnLoadFee)); } void setClusterFee (uint32 fee) diff --git a/src/cpp/ripple/NetworkOPs.cpp b/src/cpp/ripple/NetworkOPs.cpp index 3c3208e4a8..3979f3aa93 100644 --- a/src/cpp/ripple/NetworkOPs.cpp +++ b/src/cpp/ripple/NetworkOPs.cpp @@ -1426,8 +1426,19 @@ Json::Value NetworkOPs::getServerInfo (bool human, bool admin) info["load_factor"] = getApp().getFeeTrack ().getLoadFactor (); } else + { info["load_factor"] = static_cast (getApp().getFeeTrack ().getLoadFactor ()) / getApp().getFeeTrack ().getLoadBase (); + if (admin) + { + info["load_factor_local"] = + static_cast (getApp().getFeeTrack ().getLocalFee ()) / getApp().getFeeTrack ().getLoadBase (); + info["load_factor_net"] = + static_cast (getApp().getFeeTrack ().getRemoteFee ()) / getApp().getFeeTrack ().getLoadBase (); + info["load_factor_cluster"] = + static_cast (getApp().getFeeTrack ().getClusterFee ()) / getApp().getFeeTrack ().getLoadBase (); + } + } bool valid = false; Ledger::pointer lpClosed = getValidatedLedger ();