Browse Source

Merge branch 'master' into peercoin

peercoin
Intel 11 years ago
parent
commit
74117e9e16
  1. 4
      src/server/poolserver/DataMgr/DataMgr.cpp
  2. 2
      src/server/poolserver/NetworkMgr/NetworkMgr.cpp
  3. 24
      src/server/poolserver/Stratum/Client.cpp
  4. 2
      src/server/poolserver/Stratum/Server.cpp
  5. 2
      src/server/poolserver/Stratum/Server.h
  6. 18
      src/server/shared/Logging/Log.cpp

4
src/server/poolserver/DataMgr/DataMgr.cpp

@ -7,14 +7,12 @@ DataMgr* DataMgr::singleton = 0; @@ -7,14 +7,12 @@ DataMgr* DataMgr::singleton = 0;
void DataMgr::Upload()
{
sLog.Info(LOG_SERVER, "We have %u shares", Size());
sLog.Info(LOG_SERVER, "Uploading %u shares", Size());
uint32 bulkCount = sConfig.Get<uint32>("ShareUploadBulkCount");
while (Size() > sConfig.Get<uint32>("ShareUploadMinCount"))
{
sLog.Info(LOG_SERVER, "Uploading %u shares to database", Size());
std::string query("INSERT INTO `shares` (`rem_host`, `username`, `our_result`, `upstream_result`, `reason`, `time`, `difficulty`) VALUES ");
for (int i = 0; i < bulkCount; ++i)
{

2
src/server/poolserver/NetworkMgr/NetworkMgr.cpp

@ -80,7 +80,7 @@ void NetworkMgr::UpdateBlockTemplate() @@ -80,7 +80,7 @@ void NetworkMgr::UpdateBlockTemplate()
// Set
_curBlockTmpl = block;
sLog.Debug(LOG_SERVER, "Fetched block template from rpc #%u", i);
sLog.Info(LOG_SERVER, "Fetched block template from rpc #%u", i);
// Break from loop
break;

24
src/server/poolserver/Stratum/Client.cpp

@ -90,7 +90,7 @@ namespace Stratum @@ -90,7 +90,7 @@ namespace Stratum
// check username
std::string username = params[0].GetString();
if (!_workers.count(username)) {
sLog.Error(LOG_STRATUM, "%s: Worker not authenticated", username.c_str());
sLog.Warn(LOG_STRATUM, "%s: Worker not authenticated", username.c_str());
JSON response;
response["id"] = msg["id"];
response["result"];
@ -138,7 +138,7 @@ namespace Stratum @@ -138,7 +138,7 @@ namespace Stratum
BinaryData extranonce2 = Util::ASCIIToBin(params[2].GetString());
if (extranonce2.size() != 4) {
sLog.Error(LOG_STRATUM, "Wrong extranonce size");
sLog.Warn(LOG_STRATUM, "Wrong extranonce size");
JSON response;
response["id"] = msg["id"];
response["result"];
@ -151,7 +151,7 @@ namespace Stratum @@ -151,7 +151,7 @@ namespace Stratum
ByteBuffer timebuf(Util::Reverse(Util::ASCIIToBin(params[3].GetString())));
if (timebuf.Size() != 4) {
sLog.Error(LOG_STRATUM, "Wrong ntime size");
sLog.Warn(LOG_STRATUM, "Wrong ntime size");
JSON response;
response["id"] = msg["id"];
response["result"];
@ -164,7 +164,7 @@ namespace Stratum @@ -164,7 +164,7 @@ namespace Stratum
ByteBuffer noncebuf(Util::Reverse(Util::ASCIIToBin(params[4].GetString())));
if (noncebuf.Size() != 4) {
sLog.Error(LOG_STRATUM, "Wrong nonce size");
sLog.Warn(LOG_STRATUM, "Wrong nonce size");
JSON response;
response["id"] = msg["id"];
response["result"];
@ -180,9 +180,11 @@ namespace Stratum @@ -180,9 +180,11 @@ namespace Stratum
sharebuf << noncebuf << extranonce2;
uint64 share;
sharebuf >> share;
sLog.Debug(LOG_STRATUM, "Job::SubmitShare: Nonce: %s, Extranonse: %s, Share: %u", Util::BinToASCII(noncebuf.Binary()).c_str(), Util::BinToASCII(extranonce2).c_str(), share);
sLog.Debug(LOG_STRATUM, "Job::SubmitShare: Nonce: %s, Extranonce: %s, Share: %u", Util::BinToASCII(noncebuf.Binary()).c_str(), Util::BinToASCII(extranonce2).c_str(), share);
if (!job.SubmitShare(share)) {
sLog.Error(LOG_STRATUM, "%s: Duplicate share", username.c_str());
sLog.Warn(LOG_STRATUM, "%s: Duplicate share", username.c_str());
DataMgr::Instance()->Push(Share(_ip, username, false, "Duplicate share", Util::Date(), job.diff));
_shareLimiter.LogBad();
@ -223,7 +225,7 @@ namespace Stratum @@ -223,7 +225,7 @@ namespace Stratum
// Check if difficulty meets job diff
if (target > job.jobTarget) {
sLog.Error(LOG_STRATUM, "%s: Share above target", username.c_str());
sLog.Warn(LOG_STRATUM, "%s: Share above target", username.c_str());
DataMgr::Instance()->Push(Share(_ip, username, false, "Share above target", Util::Date(), job.diff));
_shareLimiter.LogBad();
@ -239,7 +241,7 @@ namespace Stratum @@ -239,7 +241,7 @@ namespace Stratum
// Check if block meets criteria
if (target <= job.blockTarget) {
sLog.Info(LOG_SERVER, "We have found a block candidate!");
sLog.Info(LOG_STRATUM, "We have found a block candidate!");
if (_server->SubmitBlock(block)) {
std::string query("INSERT INTO `shares` (`rem_host`, `username`, `our_result`, `upstream_result`, `reason`, `solution`, `time`, `difficulty`) VALUES ");
@ -381,7 +383,7 @@ namespace Stratum @@ -381,7 +383,7 @@ namespace Stratum
try {
OnMessage(JSON::FromString(_recvMessage));
} catch (std::exception& e) {
sLog.Error(LOG_SERVER, "Exception caught while parsing json: %s", e.what());
sLog.Debug(LOG_STRATUM, "Exception caught while parsing json: %s", e.what());
}
_recvMessage.clear();
@ -389,6 +391,10 @@ namespace Stratum @@ -389,6 +391,10 @@ namespace Stratum
_recvMessage += c;
}
// Check if message doesn't exceed maximum packet size
if (_recvMessage.size() > MAX_PACKET)
Disconnect();
StartRead();
} else {
// Client disconnected

2
src/server/poolserver/Stratum/Server.cpp

@ -11,7 +11,7 @@ namespace Stratum @@ -11,7 +11,7 @@ namespace Stratum
_StartAccept();
sLog.Debug(LOG_STRATUM, "Stratum server started");
sLog.Info(LOG_STRATUM, "Stratum server started");
}
void Server::SendToAll(JSON msg)

2
src/server/poolserver/Stratum/Server.h

@ -18,6 +18,8 @@ @@ -18,6 +18,8 @@
#include <set>
#include <vector>
#define MAX_PACKET 4096
using namespace boost;
using namespace boost::asio::ip;

18
src/server/shared/Logging/Log.cpp

@ -74,36 +74,38 @@ void Log::Write(LogLevel level, LogType type, std::string msg) @@ -74,36 +74,38 @@ void Log::Write(LogLevel level, LogType type, std::string msg)
{
boost::lock_guard<boost::mutex> lock(_mutex);
std::string timestamp = Util::Date("%b-%d %H:%M:%S");
switch(level)
{
case LOG_LEVEL_ERROR:
if (sConfig.Get<uint32_t>("LogConsoleLevel") >= level)
std::cout << "[ERROR] " << msg << std::endl;
std::cout << timestamp << " [ERROR] " << msg << std::endl;
if (sConfig.Get<uint32_t>("LogFileLevel") >= level)
AppendFile("[ERROR] " + msg);
AppendFile(timestamp + " [ERROR] " + msg);
break;
case LOG_LEVEL_WARN:
if (sConfig.Get<uint32_t>("LogConsoleLevel") >= level)
std::cout << "[WARN] " << msg << std::endl;
std::cout << timestamp << " [WARN] " << msg << std::endl;
if (sConfig.Get<uint32_t>("LogFileLevel") >= level)
AppendFile("[WARN] " + msg);
AppendFile(timestamp + " [WARN] " + msg);
break;
case LOG_LEVEL_INFO:
if (sConfig.Get<uint32_t>("LogConsoleLevel") >= level)
std::cout << "[INFO] " << msg << std::endl;
std::cout << timestamp << " [INFO] " << msg << std::endl;
if (sConfig.Get<uint32_t>("LogFileLevel") >= level)
AppendFile("[INFO] " + msg);
AppendFile(timestamp + " [INFO] " + msg);
break;
case LOG_LEVEL_DEBUG:
if (sConfig.Get<uint32_t>("LogConsoleLevel") >= level) {
uint32_t debugmask = sConfig.Get<uint32_t>("LogConsoleDebugMask");
if (debugmask & uint32_t(pow(2, type)))
std::cout << "[DEBUG] " << msg << std::endl;
std::cout << timestamp << " [DEBUG] " << msg << std::endl;
}
if (sConfig.Get<uint32_t>("LogFileLevel") >= level) {
uint32_t debugmask = sConfig.Get<uint32_t>("LogFileDebugMask");
if (debugmask & uint32_t(pow(2, type)))
AppendFile("[DEBUG] " + msg);
AppendFile(timestamp + " [DEBUG] " + msg);
}
break;
}

Loading…
Cancel
Save