@@ -1058,7 +1058,7 @@ func (wn *WebsocketNetwork) ServeHTTP(response http.ResponseWriter, request *htt
10581058 responseHeader .Set (ProtocolVersionHeader , matchingVersion )
10591059 responseHeader .Set (GenesisHeader , wn .GenesisID )
10601060 // set the features we support, for example
1061- // responseHeader.Set(PeerFeaturesHeader, "ppzstd" )
1061+ responseHeader .Set (PeerFeaturesHeader , PeerFeatureProposalCompression )
10621062 var challenge string
10631063 if wn .prioScheme != nil {
10641064 challenge = wn .prioScheme .NewPrioChallenge ()
@@ -1387,7 +1387,7 @@ func (wn *WebsocketNetwork) getPeersChangeCounter() int32 {
13871387}
13881388
13891389// preparePeerData prepares batches of data for sending.
1390- // It performs optional zstd compression for proposal massages
1390+ // It performs zstd compression for proposal massages if they this is a prio request and has proposal.
13911391func (wn * msgBroadcaster ) preparePeerData (request broadcastRequest , prio bool ) ([][]byte , []crypto.Digest ) {
13921392 // determine if there is a payload proposal and peers supporting compressed payloads
13931393 shouldCompress := false
@@ -1954,6 +1954,10 @@ const UserAgentHeader = "User-Agent"
19541954// PeerFeaturesHeader is the HTTP header listing features
19551955const PeerFeaturesHeader = "X-Algorand-Peer-Features"
19561956
1957+ // PeerFeatureProposalCompression is a value for PeerFeaturesHeader indicating peer
1958+ // supports proposal payload compression with zstd
1959+ const PeerFeatureProposalCompression = "ppzstd"
1960+
19571961var websocketsScheme = map [string ]string {"http" : "ws" , "https" : "wss" }
19581962
19591963var errBadAddr = errors .New ("bad address" )
@@ -2075,8 +2079,8 @@ func (wn *WebsocketNetwork) tryConnect(netAddr, gossipAddr string) {
20752079
20762080 // for backward compatibility, include the ProtocolVersion header as well.
20772081 requestHeader .Set (ProtocolVersionHeader , wn .protocolVersion )
2078- // set the features header (comma-separated list), for example
2079- requestHeader .Set (PeerFeaturesHeader , "ppzstd" )
2082+ // set the features header (comma-separated list)
2083+ requestHeader .Set (PeerFeaturesHeader , PeerFeatureProposalCompression )
20802084 SetUserAgentHeader (requestHeader )
20812085 myInstanceName := wn .log .GetInstanceName ()
20822086 requestHeader .Set (InstanceNameHeader , myInstanceName )
0 commit comments