[ADDED] LeafNode: Support for s2 compression

This is similar to PR #4115 but for LeafNodes.
Compression mode can be set on both side (the accept and in remotes).
```
leafnodes {
   port: 7422
   compression: s2_best
   remotes [
       {
         url: "nats://host2:74222"
         compression: s2_better
       }
   ]
}
```
Possible modes are similar than for routes (described in PR #4115),
except that when not defined we default to `s2_auto`.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
This commit is contained in:
Ivan Kozlovic
2023-05-15 17:42:39 -06:00
parent e07ccf9cc1
commit 67498af2dc
15 changed files with 1904 additions and 208 deletions

View File

@@ -1187,7 +1187,9 @@ func runTLSSolicitLeafServer(lso *server.Options) (*server.Server, *server.Optio
host, _, _ := net.SplitHostPort(lso.LeafNode.Host)
remote.TLSConfig.ServerName = host
remote.TLSConfig.InsecureSkipVerify = true
remote.Compression.Mode = server.CompressionOff
o.LeafNode.Remotes = []*server.RemoteLeafOpts{remote}
o.LeafNode.Compression.Mode = server.CompressionOff
return RunServer(&o), &o
}

View File

@@ -1560,6 +1560,9 @@ func TestOCSPLeafNoVerify(t *testing.T) {
host: "127.0.0.1"
port: -1
advertise: "127.0.0.1"
# for this test, explicitly disable compression because we do it
# in RunServer but here we do a config reload...
compression: off
tls {
cert_file: "configs/certs/ocsp/server-status-request-url-02-cert.pem"
@@ -1743,6 +1746,7 @@ func TestOCSPLeafNoVerify(t *testing.T) {
host: "127.0.0.1"
port: -1
advertise: "127.0.0.1"
compression: off
tls {
cert_file: "configs/certs/ocsp/server-status-request-url-08-cert.pem"

View File

@@ -83,6 +83,7 @@ func RunServerCallback(opts *server.Options, callback func(*server.Server)) *ser
opts.Cluster.PoolSize = -1
// Also disable compression for "test" package.
opts.Cluster.Compression.Mode = server.CompressionOff
opts.LeafNode.Compression.Mode = server.CompressionOff
s, err := server.NewServer(opts)
if err != nil || s == nil {