mirror of
https://github.com/gogrlx/nats-server.git
synced 2026-04-02 03:38:42 -07:00
[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:
@@ -2102,18 +2102,19 @@ type LeafzOptions struct {
|
||||
|
||||
// LeafInfo has detailed information on each remote leafnode connection.
|
||||
type LeafInfo struct {
|
||||
Name string `json:"name"`
|
||||
IsSpoke bool `json:"is_spoke"`
|
||||
Account string `json:"account"`
|
||||
IP string `json:"ip"`
|
||||
Port int `json:"port"`
|
||||
RTT string `json:"rtt,omitempty"`
|
||||
InMsgs int64 `json:"in_msgs"`
|
||||
OutMsgs int64 `json:"out_msgs"`
|
||||
InBytes int64 `json:"in_bytes"`
|
||||
OutBytes int64 `json:"out_bytes"`
|
||||
NumSubs uint32 `json:"subscriptions"`
|
||||
Subs []string `json:"subscriptions_list,omitempty"`
|
||||
Name string `json:"name"`
|
||||
IsSpoke bool `json:"is_spoke"`
|
||||
Account string `json:"account"`
|
||||
IP string `json:"ip"`
|
||||
Port int `json:"port"`
|
||||
RTT string `json:"rtt,omitempty"`
|
||||
InMsgs int64 `json:"in_msgs"`
|
||||
OutMsgs int64 `json:"out_msgs"`
|
||||
InBytes int64 `json:"in_bytes"`
|
||||
OutBytes int64 `json:"out_bytes"`
|
||||
NumSubs uint32 `json:"subscriptions"`
|
||||
Subs []string `json:"subscriptions_list,omitempty"`
|
||||
Compression string `json:"compression,omitempty"`
|
||||
}
|
||||
|
||||
// Leafz returns a Leafz structure containing information about leafnodes.
|
||||
@@ -2143,17 +2144,18 @@ func (s *Server) Leafz(opts *LeafzOptions) (*Leafz, error) {
|
||||
for _, ln := range lconns {
|
||||
ln.mu.Lock()
|
||||
lni := &LeafInfo{
|
||||
Name: ln.leaf.remoteServer,
|
||||
IsSpoke: ln.isSpokeLeafNode(),
|
||||
Account: ln.acc.Name,
|
||||
IP: ln.host,
|
||||
Port: int(ln.port),
|
||||
RTT: ln.getRTT().String(),
|
||||
InMsgs: atomic.LoadInt64(&ln.inMsgs),
|
||||
OutMsgs: ln.outMsgs,
|
||||
InBytes: atomic.LoadInt64(&ln.inBytes),
|
||||
OutBytes: ln.outBytes,
|
||||
NumSubs: uint32(len(ln.subs)),
|
||||
Name: ln.leaf.remoteServer,
|
||||
IsSpoke: ln.isSpokeLeafNode(),
|
||||
Account: ln.acc.Name,
|
||||
IP: ln.host,
|
||||
Port: int(ln.port),
|
||||
RTT: ln.getRTT().String(),
|
||||
InMsgs: atomic.LoadInt64(&ln.inMsgs),
|
||||
OutMsgs: ln.outMsgs,
|
||||
InBytes: atomic.LoadInt64(&ln.inBytes),
|
||||
OutBytes: ln.outBytes,
|
||||
NumSubs: uint32(len(ln.subs)),
|
||||
Compression: ln.leaf.compression,
|
||||
}
|
||||
if opts != nil && opts.Subscriptions {
|
||||
lni.Subs = make([]string, 0, len(ln.subs))
|
||||
|
||||
Reference in New Issue
Block a user