| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- package com.its.common.cluster.vo;
- import io.netty.channel.Channel;
- import lombok.Data;
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import java.util.Date;
- @Data
- public class ClusterNetState {
- private int state;
- private Channel channel;
- private long connectCount;
- private long lastRecvTime;
- private long lastSendTime;
- private int retryCount;
- private Date connectTime;
- private Date disconnectTime;
- public ClusterNetState() {
- init();
- }
- public void init() {
- this.state = ClusterNET.CLOSED;
- this.channel = null;
- this.connectCount = 0;
- this.lastRecvTime = 0;
- this.lastSendTime = 0;
- this.retryCount = 0;
- this.connectTime = null;
- this.disconnectTime = null;
- }
- public void setLastRecvTime() {
- this.lastRecvTime = System.currentTimeMillis();
- }
- public void setLastSendTime() {
- this.lastSendTime = System.currentTimeMillis();
- }
- public void retry() {
- this.retryCount++;
- }
- public void request() {
- this.retryCount = 0;
- }
- public void connect(Channel channel) {
- this.state = ClusterNET.LOGIN_WAIT;
- this.channel = channel;
- this.connectCount++;
- this.connectTime = new Date();
- this.retryCount = 0;
- setLastRecvTime();
- }
- public void loginOk() {
- this.state = ClusterNET.DATA_TRANS;
- }
- public void disConnect() {
- if (this.state != ClusterNET.CLOSED) {
- this.disconnectTime = new Date();
- }
- this.state = ClusterNET.CLOSED;
- this.channel = null;
- this.retryCount = 0;
- }
- public void terminate() {
- this.state = ClusterNET.TERMINATE;
- }
- public boolean isActive() {
- return this.channel != null && this.channel.isActive();
- }
- public String getConnectTimeString() {
- if (this.connectTime == null) {
- return "----/--/-- --:--:--";
- }
- Calendar cal = Calendar.getInstance();
- cal.setTime(this.connectTime);
- return (new SimpleDateFormat("yyyy/MM/dd HH:mm:ss")).format(cal.getTime());
- }
- public String getDisconnectTimeString() {
- if (this.disconnectTime == null) {
- return "----/--/-- --:--:--";
- }
- Calendar cal = Calendar.getInstance();
- cal.setTime(this.disconnectTime);
- return (new SimpleDateFormat("yyyy/MM/dd HH:mm:ss")).format(cal.getTime());
- }
- }
|