Move SNTPClient to ripple_net module

This commit is contained in:
Vinnie Falco
2013-07-09 17:11:48 -07:00
parent b343b0929a
commit 747131137b
7 changed files with 35 additions and 29 deletions

View File

@@ -376,6 +376,12 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\modules\ripple_net\basics\ripple_SNTPClient.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\modules\ripple_net\ripple_net.cpp" /> <ClCompile Include="..\..\modules\ripple_net\ripple_net.cpp" />
<ClCompile Include="..\..\modules\ripple_sqlite\ripple_sqlite.c" /> <ClCompile Include="..\..\modules\ripple_sqlite\ripple_sqlite.c" />
<ClCompile Include="..\..\modules\ripple_websocket\autosocket\ripple_AutoSocket.cpp"> <ClCompile Include="..\..\modules\ripple_websocket\autosocket\ripple_AutoSocket.cpp">
@@ -890,12 +896,6 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\src\cpp\ripple\SNTPClient.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\cpp\ripple\Transaction.cpp"> <ClCompile Include="..\..\src\cpp\ripple\Transaction.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
@@ -1400,6 +1400,7 @@
<ClInclude Include="..\..\modules\ripple_net\basics\ripple_HTTPRequest.h" /> <ClInclude Include="..\..\modules\ripple_net\basics\ripple_HTTPRequest.h" />
<ClInclude Include="..\..\modules\ripple_net\basics\ripple_HttpsClient.h" /> <ClInclude Include="..\..\modules\ripple_net\basics\ripple_HttpsClient.h" />
<ClInclude Include="..\..\modules\ripple_net\basics\ripple_RPCServer.h" /> <ClInclude Include="..\..\modules\ripple_net\basics\ripple_RPCServer.h" />
<ClInclude Include="..\..\modules\ripple_net\basics\ripple_SNTPClient.h" />
<ClInclude Include="..\..\modules\ripple_net\ripple_net.h" /> <ClInclude Include="..\..\modules\ripple_net\ripple_net.h" />
<ClInclude Include="..\..\modules\ripple_sqlite\ripple_sqlite.h" /> <ClInclude Include="..\..\modules\ripple_sqlite\ripple_sqlite.h" />
<ClInclude Include="..\..\modules\ripple_websocket\autosocket\ripple_AutoSocket.h" /> <ClInclude Include="..\..\modules\ripple_websocket\autosocket\ripple_AutoSocket.h" />
@@ -1482,7 +1483,6 @@
<ClInclude Include="..\..\src\cpp\ripple\RPCSub.h" /> <ClInclude Include="..\..\src\cpp\ripple\RPCSub.h" />
<ClInclude Include="..\..\src\cpp\ripple\ScriptData.h" /> <ClInclude Include="..\..\src\cpp\ripple\ScriptData.h" />
<ClInclude Include="..\..\src\cpp\ripple\SerializedValidation.h" /> <ClInclude Include="..\..\src\cpp\ripple\SerializedValidation.h" />
<ClInclude Include="..\..\src\cpp\ripple\SNTPClient.h" />
<ClInclude Include="..\..\src\cpp\ripple\Transaction.h" /> <ClInclude Include="..\..\src\cpp\ripple\Transaction.h" />
<ClInclude Include="..\..\src\cpp\ripple\TransactionEngine.h" /> <ClInclude Include="..\..\src\cpp\ripple\TransactionEngine.h" />
<ClInclude Include="..\..\src\cpp\ripple\TransactionMaster.h" /> <ClInclude Include="..\..\src\cpp\ripple\TransactionMaster.h" />

View File

@@ -666,9 +666,6 @@
<ClCompile Include="..\..\src\cpp\ripple\ripple_Validations.cpp"> <ClCompile Include="..\..\src\cpp\ripple\ripple_Validations.cpp">
<Filter>[1] Ripple\ripple_app\_misc</Filter> <Filter>[1] Ripple\ripple_app\_misc</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\src\cpp\ripple\SNTPClient.cpp">
<Filter>[1] Ripple\ripple_app\_network</Filter>
</ClCompile>
<ClCompile Include="..\..\src\cpp\ripple\WSConnection.cpp"> <ClCompile Include="..\..\src\cpp\ripple\WSConnection.cpp">
<Filter>[1] Ripple\ripple_app\_network</Filter> <Filter>[1] Ripple\ripple_app\_network</Filter>
</ClCompile> </ClCompile>
@@ -849,6 +846,9 @@
<ClCompile Include="..\..\modules\ripple_net\basics\ripple_RPCServer.cpp"> <ClCompile Include="..\..\modules\ripple_net\basics\ripple_RPCServer.cpp">
<Filter>[1] Ripple\ripple_net\basics</Filter> <Filter>[1] Ripple\ripple_net\basics</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\modules\ripple_net\basics\ripple_SNTPClient.cpp">
<Filter>[1] Ripple\ripple_net\basics</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="..\..\Subtrees\sqlite\sqlite3.h"> <ClInclude Include="..\..\Subtrees\sqlite\sqlite3.h">
@@ -1398,9 +1398,6 @@
<ClInclude Include="..\..\src\cpp\ripple\ripple_SerializedTransaction.h"> <ClInclude Include="..\..\src\cpp\ripple\ripple_SerializedTransaction.h">
<Filter>[1] Ripple\ripple_app\_misc</Filter> <Filter>[1] Ripple\ripple_app\_misc</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\src\cpp\ripple\SNTPClient.h">
<Filter>[1] Ripple\ripple_app\_network</Filter>
</ClInclude>
<ClInclude Include="..\..\src\cpp\ripple\WSConnection.h"> <ClInclude Include="..\..\src\cpp\ripple\WSConnection.h">
<Filter>[1] Ripple\ripple_app\_network</Filter> <Filter>[1] Ripple\ripple_app\_network</Filter>
</ClInclude> </ClInclude>
@@ -1584,6 +1581,9 @@
<ClInclude Include="..\..\modules\ripple_net\basics\ripple_RPCServer.h"> <ClInclude Include="..\..\modules\ripple_net\basics\ripple_RPCServer.h">
<Filter>[1] Ripple\ripple_net\basics</Filter> <Filter>[1] Ripple\ripple_net\basics</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\modules\ripple_net\basics\ripple_SNTPClient.h">
<Filter>[1] Ripple\ripple_net\basics</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<CustomBuild Include="..\..\src\cpp\ripple\ripple.proto" /> <CustomBuild Include="..\..\src\cpp\ripple\ripple.proto" />

View File

@@ -144,7 +144,6 @@ namespace ripple
#include "src/cpp/ripple/TransactionMaster.h" #include "src/cpp/ripple/TransactionMaster.h"
#include "src/cpp/ripple/ripple_LocalCredentials.h" #include "src/cpp/ripple/ripple_LocalCredentials.h"
#include "src/cpp/ripple/WSDoor.h" #include "src/cpp/ripple/WSDoor.h"
#include "src/cpp/ripple/SNTPClient.h"
#include "src/cpp/ripple/RPCHandler.h" #include "src/cpp/ripple/RPCHandler.h"
#include "src/cpp/ripple/TransactionQueue.h" #include "src/cpp/ripple/TransactionQueue.h"
#include "src/cpp/ripple/OrderBookDB.h" #include "src/cpp/ripple/OrderBookDB.h"
@@ -316,7 +315,6 @@ static DH* handleTmpDh (SSL* ssl, int is_export, int iKeyLength)
#include "src/cpp/ripple/ripple_RippleState.cpp" #include "src/cpp/ripple/ripple_RippleState.cpp"
#include "src/cpp/ripple/RPCDoor.cpp" #include "src/cpp/ripple/RPCDoor.cpp"
#include "src/cpp/ripple/ScriptData.cpp" #include "src/cpp/ripple/ScriptData.cpp"
#include "src/cpp/ripple/SNTPClient.cpp"
#include "src/cpp/ripple/TransactionCheck.cpp" #include "src/cpp/ripple/TransactionCheck.cpp"
#include "src/cpp/ripple/TransactionMaster.cpp" #include "src/cpp/ripple/TransactionMaster.cpp"
#include "src/cpp/ripple/TransactionQueue.cpp" #include "src/cpp/ripple/TransactionQueue.cpp"

View File

@@ -4,8 +4,8 @@
*/ */
//============================================================================== //==============================================================================
#ifndef __SNTPCLIENT__ #ifndef RIPPLE_SNTPCLIENT_H_INCLUDED
#define __SNTPCLIENT__ #define RIPPLE_SNTPCLIENT_H_INCLUDED
class SNTPQuery class SNTPQuery
{ {
@@ -20,19 +20,33 @@ public:
} }
}; };
//------------------------------------------------------------------------------
// VFALCO TODO Make an abstract interface for this to hide the boost
//
class SNTPClient : LeakChecked <SNTPClient> class SNTPClient : LeakChecked <SNTPClient>
{ {
public: public:
SNTPClient (boost::asio::io_service& service); explicit SNTPClient (boost::asio::io_service& service);
void init (const std::vector<std::string>& servers);
void addServer (const std::string& mServer); void init (std::vector <std::string> const& servers);
void addServer (std::string const& mServer);
void queryAll (); void queryAll ();
bool doQuery (); bool doQuery ();
bool getOffset (int& offset); bool getOffset (int& offset);
private: private:
std::map<boost::asio::ip::udp::endpoint, SNTPQuery> mQueries; void receivePacket (const boost::system::error_code& error, std::size_t bytes);
void resolveComplete (const boost::system::error_code& error, boost::asio::ip::udp::resolver::iterator iterator);
void sentPacket (boost::shared_ptr<std::string>, const boost::system::error_code&, std::size_t);
void timerEntry (const boost::system::error_code&);
void sendComplete (const boost::system::error_code& error, std::size_t bytesTransferred);
void processReply ();
private:
std::map <boost::asio::ip::udp::endpoint, SNTPQuery> mQueries;
boost::mutex mLock; boost::mutex mLock;
boost::asio::ip::udp::socket mSocket; boost::asio::ip::udp::socket mSocket;
@@ -47,14 +61,6 @@ private:
std::vector<uint8_t> mReceiveBuffer; std::vector<uint8_t> mReceiveBuffer;
boost::asio::ip::udp::endpoint mReceiveEndpoint; boost::asio::ip::udp::endpoint mReceiveEndpoint;
void receivePacket (const boost::system::error_code& error, std::size_t bytes);
void resolveComplete (const boost::system::error_code& error, boost::asio::ip::udp::resolver::iterator iterator);
void sentPacket (boost::shared_ptr<std::string>, const boost::system::error_code&, std::size_t);
void timerEntry (const boost::system::error_code&);
void sendComplete (const boost::system::error_code& error, std::size_t bytesTransferred);
void processReply ();
}; };
#endif #endif
// vim:ts=4

View File

@@ -23,5 +23,6 @@ namespace ripple
#include "basics/ripple_HTTPRequest.cpp" #include "basics/ripple_HTTPRequest.cpp"
#include "basics/ripple_HttpsClient.cpp" #include "basics/ripple_HttpsClient.cpp"
#include "basics/ripple_RPCServer.cpp" #include "basics/ripple_RPCServer.cpp"
#include "basics/ripple_SNTPClient.cpp"
} }

View File

@@ -30,6 +30,7 @@ namespace ripple
#include "basics/ripple_HTTPRequest.h" #include "basics/ripple_HTTPRequest.h"
#include "basics/ripple_HttpsClient.h" #include "basics/ripple_HttpsClient.h"
#include "basics/ripple_RPCServer.h" #include "basics/ripple_RPCServer.h"
#include "basics/ripple_SNTPClient.h"
} }