Skip to content

Commit

Permalink
Moved Hashrate.cs to Utils/Helpers/Humanize.cs.
Browse files Browse the repository at this point in the history
Implemennted GetReadableDifficulty() - fixes #534.
Moved helper functions to Utils/Helpers root.
  • Loading branch information
Hüseyin Uslu committed Oct 12, 2014
1 parent 27f064c commit c13af0e
Show file tree
Hide file tree
Showing 31 changed files with 72 additions and 40 deletions.
2 changes: 1 addition & 1 deletion src/CoiniumServ/Banning/BanManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
using CoiniumServ.Server.Mining.Getwork;
using CoiniumServ.Server.Mining.Stratum.Sockets;
using CoiniumServ.Shares;
using CoiniumServ.Utils.Helpers.Time;
using CoiniumServ.Utils.Helpers;
using Serilog;

namespace CoiniumServ.Banning
Expand Down
2 changes: 1 addition & 1 deletion src/CoiniumServ/Coin/Coinbase/Serializers.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
using System.Text;
using CoiniumServ.Jobs;
using CoiniumServ.Utils.Extensions;
using CoiniumServ.Utils.Helpers.Arrays;
using CoiniumServ.Utils.Helpers;
using Gibbed.IO;

namespace CoiniumServ.Coin.Coinbase
Expand Down
14 changes: 7 additions & 7 deletions src/CoiniumServ/CoiniumServ.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@
<Compile Include="Coin\Config\CoinOptions.cs" />
<Compile Include="Coin\Config\IBlockExplorerOptions.cs" />
<Compile Include="Coin\Config\ICoinOptions.cs" />
<Compile Include="Coin\Helpers\Hashrate.cs" />
<Compile Include="Utils\Helpers\Humanize.cs" />
<Compile Include="Configuration\IJsonConfigReader.cs" />
<Compile Include="Daemon\Converters\DifficultyConverter.cs" />
<Compile Include="Daemon\Converters\TimeConverter.cs" />
Expand Down Expand Up @@ -372,14 +372,14 @@
<Compile Include="Transactions\TxOut.cs" />
<Compile Include="Container\Context\ApplicationContext.cs" />
<Compile Include="Configuration\JsonConfigReader.cs" />
<Compile Include="Utils\Helpers\Validation\Enforce.cs" />
<Compile Include="Utils\Helpers\Enforce.cs" />
<Compile Include="Server\Mining\Service\Services.cs" />
<Compile Include="Utils\Extensions\ArrayExtensions.cs" />
<Compile Include="Utils\Extensions\EnumerableExtensions.cs" />
<Compile Include="Utils\Helpers\Arrays\ArrayHelpers.cs" />
<Compile Include="Utils\Helpers\IO\FileHelpers.cs" />
<Compile Include="Utils\Helpers\Misc\Range.cs" />
<Compile Include="Utils\Helpers\Time\TimeHelpers.cs" />
<Compile Include="Utils\Helpers\ArrayHelpers.cs" />
<Compile Include="Utils\Helpers\FileHelpers.cs" />
<Compile Include="Utils\Helpers\Range.cs" />
<Compile Include="Utils\Helpers\TimeHelpers.cs" />
<Compile Include="Utils\Buffers\IRingBuffer.cs" />
<Compile Include="Logging\ILogConfig.cs" />
<Compile Include="Logging\ILogTarget.cs" />
Expand All @@ -404,7 +404,7 @@
<Compile Include="Coin\Address\Exceptions\AddressFormatException.cs" />
<Compile Include="Coin\Address\Exceptions\InvalidWalletAddressException.cs" />
<Compile Include="Transactions\GenerationTransaction.cs" />
<Compile Include="Coin\Helpers\Amount.cs" />
<Compile Include="Utils\Helpers\Amount.cs" />
<Compile Include="Container\Bootstrapper.cs" />
<Compile Include="Configuration\IConfig.cs" />
<Compile Include="Container\Registries\ClassRegistry.cs" />
Expand Down
2 changes: 1 addition & 1 deletion src/CoiniumServ/Configuration/ConfigManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
using CoiniumServ.Server.Web;
using CoiniumServ.Server.Web.Config;
using CoiniumServ.Statistics;
using CoiniumServ.Utils.Helpers.IO;
using CoiniumServ.Utils.Helpers;
using CoiniumServ.Utils.Platform;
using libCoiniumServ.Versions;
using Serilog;
Expand Down
2 changes: 1 addition & 1 deletion src/CoiniumServ/Configuration/JsonConfigReader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
using System;
using System.IO;
using System.Text.RegularExpressions;
using CoiniumServ.Utils.Helpers.IO;
using CoiniumServ.Utils.Helpers;
using JsonConfig;
using Newtonsoft.Json;
using Serilog;
Expand Down
2 changes: 1 addition & 1 deletion src/CoiniumServ/Cryptology/Merkle/MerkleTree.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
using System.Collections.Generic;
using System.Linq;
using CoiniumServ.Utils.Extensions;
using CoiniumServ.Utils.Helpers.Misc;
using CoiniumServ.Utils.Helpers;

namespace CoiniumServ.Cryptology.Merkle
{
Expand Down
2 changes: 1 addition & 1 deletion src/CoiniumServ/Daemon/Converters/TimeConverter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

using System;
using System.Globalization;
using CoiniumServ.Utils.Helpers.Time;
using CoiniumServ.Utils.Helpers;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

Expand Down
2 changes: 1 addition & 1 deletion src/CoiniumServ/Jobs/Job.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
using CoiniumServ.Transactions;
using CoiniumServ.Transactions.Utils;
using CoiniumServ.Utils.Extensions;
using CoiniumServ.Utils.Helpers.Time;
using CoiniumServ.Utils.Helpers;
using CoiniumServ.Utils.Numerics;
using Gibbed.IO;

Expand Down
2 changes: 1 addition & 1 deletion src/CoiniumServ/Jobs/Tracker/JobTracker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
using System.Linq;
using System.Threading;
using CoiniumServ.Pools;
using CoiniumServ.Utils.Helpers.Time;
using CoiniumServ.Utils.Helpers;
using Serilog;

namespace CoiniumServ.Jobs.Tracker
Expand Down
2 changes: 1 addition & 1 deletion src/CoiniumServ/Logging/LogManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
using System;
using System.IO;
using System.Linq;
using CoiniumServ.Utils.Helpers.IO;
using CoiniumServ.Utils.Helpers;
using Serilog;
using Serilog.Core;
using Serilog.Events;
Expand Down
2 changes: 1 addition & 1 deletion src/CoiniumServ/Persistance/Blocks/PersistedBlock.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

using System;
using System.Diagnostics;
using CoiniumServ.Utils.Helpers.Time;
using CoiniumServ.Utils.Helpers;

namespace CoiniumServ.Persistance.Blocks
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
using CoiniumServ.Persistance.Query;
using CoiniumServ.Shares;
using CoiniumServ.Utils.Extensions;
using CoiniumServ.Utils.Helpers.Time;
using CoiniumServ.Utils.Helpers;
using Dapper;
using MySql.Data.MySqlClient;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
using CoiniumServ.Payments;
using CoiniumServ.Persistance.Blocks;
using CoiniumServ.Shares;
using CoiniumServ.Utils.Helpers.Time;
using CoiniumServ.Utils.Helpers;

namespace CoiniumServ.Persistance.Layers.Hybrid
{
Expand Down
1 change: 1 addition & 0 deletions src/CoiniumServ/Pools/NetworkInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
using CoiniumServ.Coin.Helpers;
using CoiniumServ.Daemon;
using CoiniumServ.Daemon.Exceptions;
using CoiniumServ.Utils.Helpers;
using Serilog;

namespace CoiniumServ.Pools
Expand Down
3 changes: 1 addition & 2 deletions src/CoiniumServ/Pools/Pool.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,7 @@
using CoiniumServ.Server.Mining;
using CoiniumServ.Server.Mining.Service;
using CoiniumServ.Shares;
using CoiniumServ.Utils.Helpers.Time;
using CoiniumServ.Utils.Helpers.Validation;
using CoiniumServ.Utils.Helpers;
using Newtonsoft.Json;
using Serilog;

Expand Down
2 changes: 1 addition & 1 deletion src/CoiniumServ/Server/Web/RootPathProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
#endregion

using System.IO;
using CoiniumServ.Utils.Helpers.IO;
using CoiniumServ.Utils.Helpers;
using Nancy;

namespace CoiniumServ.Server.Web
Expand Down
2 changes: 1 addition & 1 deletion src/CoiniumServ/Shares/Share.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
using CoiniumServ.Mining;
using CoiniumServ.Server.Mining.Stratum;
using CoiniumServ.Utils.Extensions;
using CoiniumServ.Utils.Helpers.Time;
using CoiniumServ.Utils.Helpers;
using CoiniumServ.Utils.Numerics;

namespace CoiniumServ.Shares
Expand Down
2 changes: 1 addition & 1 deletion src/CoiniumServ/Transactions/GenerationTransaction.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
using CoiniumServ.Jobs;
using CoiniumServ.Pools;
using CoiniumServ.Transactions.Script;
using CoiniumServ.Utils.Helpers.Time;
using CoiniumServ.Utils.Helpers;
using Gibbed.IO;

namespace CoiniumServ.Transactions
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

using System;

namespace CoiniumServ.Utils.Helpers.Arrays
namespace CoiniumServ.Utils.Helpers
{
public static class ArrayHelpers
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
using System.Collections.Generic;
using System.Linq.Expressions;

namespace CoiniumServ.Utils.Helpers.Validation
namespace CoiniumServ.Utils.Helpers
{
/// <summary>
/// The enforce.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
using CoiniumServ.Utils.Platform;
using Serilog;

namespace CoiniumServ.Utils.Helpers.IO
namespace CoiniumServ.Utils.Helpers
{
public static class FileHelpers
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,48 @@
#endregion

using System;
using System.Globalization;

namespace CoiniumServ.Coin.Helpers
namespace CoiniumServ.Utils.Helpers
{
public static class Hashrate
public static class Humanize
{

/// <summary>
/// Returns given hashrate value as human readable string.
/// </summary>
/// <param name="hashrate"></param>
/// <returns></returns>
public static string GetReadableHashrate(this UInt64 hashrate)
{
var index = -1;
double rate = hashrate;

var units = new[] { "KH/s", "MH/s", "GH/s", "TH/s", "PH/s" };
var units = new[] {"KH/s", "MH/s", "GH/s", "TH/s", "PH/s", "EH/s", "ZH/s", "YH/s"};

do
{
rate = rate/1000;
index++;
} while (rate > 1000);

return string.Format("{0:0.00} {1}", rate, units[index]);
}

/// <summary>
/// Returns given difficulty value as human readable string.
/// </summary>
/// <param name="difficulty"></param>
/// <returns></returns>
public static string GetReadableDifficulty(this double difficulty)
{
var index = -1;
var rate = difficulty;

var units = new[] {"K", "M", "B", "T", "Q"};

if (difficulty < 1000)
return difficulty.ToString(CultureInfo.InvariantCulture);

do
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
using System.Collections;
using System.Collections.Generic;

namespace CoiniumServ.Utils.Helpers.Misc
namespace CoiniumServ.Utils.Helpers
{
/// <summary>
/// Port of python's range from
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

using System;

namespace CoiniumServ.Utils.Helpers.Time
namespace CoiniumServ.Utils.Helpers
{
public static class TimeHelpers
{
Expand Down
2 changes: 1 addition & 1 deletion src/CoiniumServ/Utils/Metrics/MetricsManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

using System;
using CoiniumServ.Configuration;
using CoiniumServ.Utils.Helpers.IO;
using CoiniumServ.Utils.Helpers;
using CoiniumServ.Utils.Platform;
using Metrics;
using Serilog;
Expand Down
2 changes: 1 addition & 1 deletion src/CoiniumServ/Vardiff/VardiffManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
using CoiniumServ.Pools;
using CoiniumServ.Shares;
using CoiniumServ.Utils.Buffers;
using CoiniumServ.Utils.Helpers.Time;
using CoiniumServ.Utils.Helpers;
using Serilog;

namespace CoiniumServ.Vardiff
Expand Down
1 change: 1 addition & 0 deletions src/CoiniumServ/web/default/views/index/index.cshtml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
@using CoiniumServ.Coin.Helpers
@using CoiniumServ.Utils.Helpers
@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase<CoiniumServ.Server.Web.Models.IndexModel>

@{ Layout = "layout/main.cshtml"; }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@using CoiniumServ.Coin.Helpers
@using CoiniumServ.Utils.Helpers
@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase<System.Collections.Generic.IEnumerable<CoiniumServ.Algorithms.IHashAlgorithm>>

<div class="row">
Expand Down
4 changes: 2 additions & 2 deletions src/CoiniumServ/web/default/views/partial/pools.cshtml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@using CoiniumServ.Coin.Helpers
@using CoiniumServ.Utils.Helpers
@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase<System.Collections.Generic.IEnumerable<CoiniumServ.Pools.IPool>>

<div class="row">
Expand Down Expand Up @@ -33,7 +33,7 @@
<td><a href="/pool/@pool.Config.Coin.Symbol/">@pool.Config.Coin.Name</a></td>
<td>@pool.Hashrate.GetReadableHashrate()</td>
<td>@pool.NetworkInfo.Hashrate.GetReadableHashrate()</td>
<td>@pool.NetworkInfo.Difficulty</td>
<td title="@string.Format("{0:n8}",pool.NetworkInfo.Difficulty)">@pool.NetworkInfo.Difficulty.GetReadableDifficulty()</td>
<td class="hidden-xs">@pool.MinerManager.Count</td>
<td class="hidden-xs"><a href="@pool.Config.Coin.Algorithm">@pool.Config.Coin.Algorithm</a></td>
<td class="hidden-xs">@pool.NetworkInfo.Round</td>
Expand Down
6 changes: 3 additions & 3 deletions src/CoiniumServ/web/default/views/pool/pool.cshtml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
@using CoiniumServ.Coin.Helpers
@using CoiniumServ.Persistance.Blocks
@using CoiniumServ.Persistance.Blocks
@using CoiniumServ.Utils.Helpers
@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase<CoiniumServ.Server.Web.Models.Pool.PoolModel>

@{ Layout = "layout/main.cshtml"; }
Expand Down Expand Up @@ -65,7 +65,7 @@
<div class="list-group-item" title="Network difficulty">
<div class="row">
<div class="col-xs-6"><i class="fa fa-random"></i> Difficulty</div>
<div class="col-xs-6 text-right"><div>@Model.Pool.NetworkInfo.Difficulty</div></div>
<div class="col-xs-6 text-right"><div title="@string.Format("{0:n}", Model.Pool.NetworkInfo.Difficulty)">@Model.Pool.NetworkInfo.Difficulty.GetReadableDifficulty()</div></div>
</div>
</div>
<a href="/pool/@Model.Pool.Config.Coin.Symbol/workers" class="list-group-item" title="Total of number of workers connected to pool">
Expand Down

0 comments on commit c13af0e

Please sign in to comment.