mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-06 17:27:52 +00:00
Complete initial implementation of transaction relaying.
This commit is contained in:
17
NetworkOPs.h
17
NetworkOPs.h
@@ -6,22 +6,35 @@
|
||||
|
||||
// Operations that clients may wish to perform against the network
|
||||
|
||||
class Peer;
|
||||
|
||||
class NetworkOPs
|
||||
{
|
||||
enum Fault
|
||||
{
|
||||
{ // exceptions these functions can throw
|
||||
IO_ERROR=1,
|
||||
NO_NETWORK=2,
|
||||
};
|
||||
|
||||
enum OperatingMode
|
||||
{ // how we process transactions or account balance requests
|
||||
FAULTED=0, // we are unable to process requests (not ready or no network)
|
||||
FULL_LOCAL=1, // we are in full local sync
|
||||
PART_LOCAL=2, // we can validate remote data but have to request it
|
||||
REMOTE=3 // we have to trust remote nodes
|
||||
};
|
||||
|
||||
public:
|
||||
|
||||
// context information
|
||||
OperatingMode getOperatingMode();
|
||||
|
||||
// network information
|
||||
uint64 getNetworkTime();
|
||||
uint32 getCurrentLedgerID();
|
||||
|
||||
// transaction operations
|
||||
Transaction::pointer processTransaction(Transaction::pointer transaction);
|
||||
Transaction::pointer processTransaction(Transaction::pointer transaction, Peer* source=NULL);
|
||||
Transaction::pointer findTransactionByID(const uint256& transactionID);
|
||||
int findTransactionsBySource(std::list<Transaction::pointer>&, const uint160& sourceAccount,
|
||||
uint32 minSeq, uint32 maxSeq);
|
||||
|
||||
Reference in New Issue
Block a user