digraph {

size="6.25";
rankdir=LR
nodesep=0.05;
ranksep=0.1;
splines="false"

edge [ penwidth = 1.75, fontname="Sans", dir="none" ]
node [ penwidth = 1.75, shape = "box", fontname="Sans", ]
graph [ penwidth = 1.75, fontname="Sans" ]

// MN List
dseg -> "ssc (mnb)\ninv (mnb)";
dseg -> "ssc (mnp)\ninv (mnp)";

"ssc (mnb)\ninv (mnb)" -> getdata;
"ssc (mnp)\ninv (mnp)" -> getdata;

getdata -> mnb;
getdata -> mnp;

// MN Payments
mnget -> "ssc (mnget)\ninv (mnw)";

"ssc (mnget)\ninv (mnw)" -> getdata;

getdata -> mnw;

{
    node [ shape = "none" ];
    label1 [ label = "Request For Help\nGetting Up To Date" ];
    label2 [ label = "Reply With\nCount/Inventory" ];
    label3 [ label = "Request For\nSpecific Data" ];
    label4 [ label = "Reply With\nRequested Data" ];

    label1 -> label2 -> label3 -> label4 [style = "invis" ];
}

label = "Overview Of P2P Protocol Masternode Request and Reply Messages"
}
