File: tunnel_status.go

package info (click to toggle)
golang-github-microsoft-dev-tunnels 0.0.25-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,988 kB
  • sloc: cs: 9,969; java: 2,767; javascript: 328; xml: 186; makefile: 5
file content (93 lines) | stat: -rw-r--r-- 4,526 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
// Generated from ../../../cs/src/Contracts/TunnelStatus.cs

package tunnels

import (
	"time"
)

// Data contract for `Tunnel` status.
type TunnelStatus struct {
	// Gets or sets the current value and limit for the number of ports on the tunnel.
	PortCount                *ResourceStatus `json:"portCount,omitempty"`

	// Gets or sets the current value and limit for the number of hosts currently accepting
	// connections to the tunnel.
	//
	// This is typically 0 or 1, but may be more than 1 if the tunnel options allow multiple
	// hosts.
	HostConnectionCount      *ResourceStatus `json:"hostConnectionCount,omitempty"`

	// Gets or sets the UTC time when a host was last accepting connections to the tunnel, or
	// null if a host has never connected.
	LastHostConnectionTime   *time.Time `json:"lastHostConnectionTime,omitempty"`

	// Gets or sets the current value and limit for the number of clients connected to the
	// tunnel.
	//
	// This counts non-port-specific client connections, which is SDK and SSH clients. See
	// `TunnelPortStatus` for status of per-port client connections.
	ClientConnectionCount    *ResourceStatus `json:"clientConnectionCount,omitempty"`

	// Gets or sets the UTC time when a client last connected to the tunnel, or null if a
	// client has never connected.
	//
	// This reports times for non-port-specific client connections, which is SDK client and
	// SSH clients. See `TunnelPortStatus` for per-port client connections.
	LastClientConnectionTime *time.Time `json:"lastClientConnectionTime,omitempty"`

	// Gets or sets the current value and limit for the rate of client connections to the
	// tunnel.
	//
	// This counts non-port-specific client connections, which is SDK client and SSH clients.
	// See `TunnelPortStatus` for status of per-port client connections.
	ClientConnectionRate     *RateStatus `json:"clientConnectionRate,omitempty"`

	// Gets or sets the current value and limit for the rate of bytes being received by the
	// tunnel host and uploaded by tunnel clients.
	//
	// All types of tunnel and port connections, from potentially multiple clients, can
	// contribute to this rate. The reported rate may differ slightly from the rate
	// measurable by applications, due to protocol overhead. Data rate status reporting is
	// delayed by a few seconds, so this value is a snapshot of the data transfer rate from a
	// few seconds earlier.
	UploadRate               *RateStatus `json:"uploadRate,omitempty"`

	// Gets or sets the current value and limit for the rate of bytes being sent by the
	// tunnel host and downloaded by tunnel clients.
	//
	// All types of tunnel and port connections, from potentially multiple clients, can
	// contribute to this rate. The reported rate may differ slightly from the rate
	// measurable by applications, due to protocol overhead. Data rate status reporting is
	// delayed by a few seconds, so this value is a snapshot of the data transfer rate from a
	// few seconds earlier.
	DownloadRate             *RateStatus `json:"downloadRate,omitempty"`

	// Gets or sets the total number of bytes received by the tunnel host and uploaded by
	// tunnel clients, over the lifetime of the tunnel.
	//
	// All types of tunnel and port connections, from potentially multiple clients, can
	// contribute to this total. The reported value may differ slightly from the value
	// measurable by applications, due to protocol overhead. Data transfer status reporting
	// is delayed by a few seconds.
	UploadTotal              uint64 `json:"uploadTotal,omitempty"`

	// Gets or sets the total number of bytes sent by the tunnel host and downloaded by
	// tunnel clients, over the lifetime of the tunnel.
	//
	// All types of tunnel and port connections, from potentially multiple clients, can
	// contribute to this total. The reported value may differ slightly from the value
	// measurable by applications, due to protocol overhead. Data transfer status reporting
	// is delayed by a few seconds.
	DownloadTotal            uint64 `json:"downloadTotal,omitempty"`

	// Gets or sets the current value and limit for the rate of management API read
	// operations  for the tunnel or tunnel ports.
	ApiReadRate              *RateStatus `json:"apiReadRate,omitempty"`

	// Gets or sets the current value and limit for the rate of management API update
	// operations for the tunnel or tunnel ports.
	ApiUpdateRate            *RateStatus `json:"apiUpdateRate,omitempty"`
}