Skip to content

Commit

Permalink
Add new XDR structs & fields for pull mode
Browse files Browse the repository at this point in the history
  • Loading branch information
Hidenori Shinohara authored and leighmcculloch committed Nov 17, 2022
1 parent e530ceb commit 8a600b3
Showing 1 changed file with 37 additions and 4 deletions.
41 changes: 37 additions & 4 deletions Stellar-overlay.x
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,20 @@ struct Hello
uint256 nonce;
};


// During the roll-out phrase, pull mode will be optional.
// Therefore, we need a way to communicate with other nodes
// that we want/don't want pull mode.
// However, the goal is for everyone to enable it by default,
// so we don't want to introduce a new member variable.
// For now, we'll use the `flags` field (originally named
// `unused`) in `Auth`.
// 100 is just a number that is not 0.
const AUTH_MSG_FLAG_PULL_MODE_REQUESTED = 100;

struct Auth
{
// Empty message, just to confirm
// establishment of MAC keys.
int unused;
int flags;
};

enum IPAddrType
Expand Down Expand Up @@ -102,7 +111,9 @@ enum MessageType
SURVEY_REQUEST = 14,
SURVEY_RESPONSE = 15,

SEND_MORE = 16
SEND_MORE = 16,
FLOOD_ADVERT = 18,
FLOOD_DEMAND = 19
};

struct DontHave
Expand Down Expand Up @@ -185,6 +196,22 @@ case SURVEY_TOPOLOGY:
TopologyResponseBody topologyResponseBody;
};

const TX_ADVERT_VECTOR_MAX_SIZE = 1000;
typedef Hash TxAdvertVector<TX_ADVERT_VECTOR_MAX_SIZE>;

struct FloodAdvert
{
TxAdvertVector txHashes;
};

const TX_DEMAND_VECTOR_MAX_SIZE = 1000;
typedef Hash TxDemandVector<TX_DEMAND_VECTOR_MAX_SIZE>;

struct FloodDemand
{
TxDemandVector txHashes;
};

union StellarMessage switch (MessageType type)
{
case ERROR_MSG:
Expand Down Expand Up @@ -227,6 +254,12 @@ case GET_SCP_STATE:
uint32 getSCPLedgerSeq; // ledger seq requested ; if 0, requests the latest
case SEND_MORE:
SendMore sendMoreMessage;

// Pull mode
case FLOOD_ADVERT:
FloodAdvert floodAdvert;
case FLOOD_DEMAND:
FloodDemand floodDemand;
};

union AuthenticatedMessage switch (uint32 v)
Expand Down

0 comments on commit 8a600b3

Please sign in to comment.