package com.bocloud.ims.entity.middleware;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;
import com.bocloud.entity.bean.GenericEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * Created by liuyuanyuan on 2020/3/18 10:47
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class CmsChannel extends GenericEntity {
    private String name;
    private String vhost;
    private String user;
    private Boolean confirm;
    private Boolean transactional;
    private String state;
    @JSONField(name = "messages_unconfirmed")
    private Long messagesUnconfirmed;
    @JSONField(name = "prefetch_count")
    private Long prefetchCount;
    @JSONField(name = "messages_unacknowledged")
    private Long messagesUnacknowledged;
    @JSONField(name = "connection_details")
    private JSONObject connectionDetails;
    @JSONField(name = "message_stats")
    private JSONObject messageStats;
    private Long unconfirmed;
    private Long prefetch;
    private Long unacked;
    private Long publishRates;
    private Long confirmRates;
    private Long deliverGetRates;
    private Long ackRates;
    @JSONField(name = "global_prefetch_count")
    private Long globalPrefetchCount;
    @JSONField(name = "messages_uncommitted")
    private Long messagesUncommitted;
    @JSONField(name = "acks_uncommitted")
    private Long acksUncommitted;
    @JSONField(name = "consumer_details")
    private JSONArray consumerDetails;
    private String connectionName;
}
