github.com/e154/smart-home@v0.17.2-0.20240311175135-e530a6e5cd45/system/mqtt/admin/session.go (about)

     1  // This file is part of the Smart Home
     2  // Program complex distribution https://github.com/e154/smart-home
     3  // Copyright (C) 2016-2023, Filippov Alex
     4  //
     5  // This library is free software: you can redistribute it and/or
     6  // modify it under the terms of the GNU Lesser General Public
     7  // License as published by the Free Software Foundation; either
     8  // version 3 of the License, or (at your option) any later version.
     9  //
    10  // This library is distributed in the hope that it will be useful,
    11  // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    13  // Library General Public License for more details.
    14  //
    15  // You should have received a copy of the GNU Lesser General Public
    16  // License along with this library.  If not, see
    17  // <https://www.gnu.org/licenses/>.
    18  
    19  package admin
    20  
    21  import "time"
    22  
    23  // SessionInfo represents the session information
    24  type SessionInfo struct {
    25  	ClientID              string     `json:"client_id"`
    26  	Status                string     `json:"status"`
    27  	CleanSession          bool       `json:"clean_session"`
    28  	Subscriptions         uint64     `json:"subscriptions"`
    29  	MaxInflight           uint16     `json:"max_inflight"`
    30  	InflightLen           uint64     `json:"inflight_len"`
    31  	MaxMsgQueue           int        `json:"max_msg_queue"`
    32  	MsgQueueLen           uint64     `json:"msg_queue_len"`
    33  	AwaitRelLen           uint64     `json:"await_rel_len"`
    34  	Qos0MsgDroppedTotal   uint64     `json:"qos0_msg_dropped_total"`
    35  	Qos1MsgDroppedTotal   uint64     `json:"qos1_msg_dropped_total"`
    36  	Qos2MsgDroppedTotal   uint64     `json:"qos2_msg_dropped_total"`
    37  	Qos0MsgDeliveredTotal uint64     `json:"qos0_msg_delivered_total"`
    38  	Qos1MsgDeliveredTotal uint64     `json:"qos1_msg_delivered_total"`
    39  	Qos2MsgDeliveredTotal uint64     `json:"qos2_msg_delivered_total"`
    40  	ConnectedAt           *time.Time `json:"connected_at"`
    41  	DisconnectedAt        *time.Time `json:"disconnected_at"`
    42  }