Compare commits

..

1 Commits

Author SHA1 Message Date
Thomas-Leung2021
c307f59e8a [WIFI-3358] remove more unused attributes in ClientMetrics 2021-08-10 17:35:38 -04:00
5 changed files with 9818 additions and 548 deletions

View File

@@ -232,7 +232,7 @@ public class PortForwarderWebSocketHandler extends AbstractWebSocketHandler {
socketInputStreamReaderThread.setDaemon(true);
forwarderSession.setSocketStreamReaderThread(socketInputStreamReaderThread);
} catch (Exception e) {
} catch (IOException e) {
LOG.error("[{}] error accepting conection on port {} - closing forwarding session {}", inventoryId, listenOnLocalPort, forwarderSession.getSessionId());
try {
serverSocket.close();
@@ -259,7 +259,6 @@ public class PortForwarderWebSocketHandler extends AbstractWebSocketHandler {
}
public void stopForwarderSession(String sessionId){
LOG.debug("Received stop forwarding Session request for sessionId {}", sessionId);
ForwarderSession forwarderSession = sessionIdToForwarderSessionMap.get(sessionId);
if(forwarderSession==null){
LOG.info("Could not find session {}", sessionId);
@@ -267,7 +266,6 @@ public class PortForwarderWebSocketHandler extends AbstractWebSocketHandler {
}
try {
LOG.debug("Found forwarderSession {} for sessionId {}", forwarderSession, sessionId);
//find websocket session by inventoryId and send control messages to disconnect from target port on the client side of the port forwarder
WebSocketSession webSocketSession = webSocketSessionMap.get(forwarderSession.getInventoryId());
TextMessage message = new TextMessage(DISCONNECT_FROM_CE_PORT_COMMAND + forwarderSession.getConnectToPortOnEquipment());
@@ -276,24 +274,22 @@ public class PortForwarderWebSocketHandler extends AbstractWebSocketHandler {
LOG.debug("[{}] Session {} sent command {}", forwarderSession.getInventoryId(), forwarderSession.getSessionId(), message.getPayload());
}
if(forwarderSession.getServerSocket() != null){
if(forwarderSession.getServerSocket()!=null){
forwarderSession.getServerSocket().close();
LOG.debug("Closed forwarderSession server socket for sessionId {}", sessionId);
}
if(forwarderSession.getLocalSocket() != null){
if(forwarderSession.getLocalSocket()!=null){
forwarderSession.getLocalSocket().close();
LOG.debug("Closed forwarderSession local socket for sessionId {}", sessionId);
}
//stream reader will stop in a separate thread by themselves
sessionIdToForwarderSessionMap.remove(forwarderSession.getSessionId());
} catch (Exception e) {
} catch (IOException e) {
// do nothing here
LOG.error("Encountered exception when closing connection for forwarder session {}", forwarderSession, e);
sessionIdToForwarderSessionMap.remove(forwarderSession.getSessionId());
}
sessionIdToForwarderSessionMap.remove(forwarderSession.getSessionId());
LOG.info("[{}] Stopped forwarder session {}", forwarderSession.getInventoryId(), sessionId);
}
@@ -326,7 +322,7 @@ public class PortForwarderWebSocketHandler extends AbstractWebSocketHandler {
if(payload.indexOf(':')>0){
port = Integer.parseInt(payload.substring(payload.indexOf(':')+1));
}
LOG.debug("handleTextMessage: Port {} is used on Equipment {}", port, webSocketSessionKey);
//find forwarderSession by inventoryId and CEPort
ForwarderSession forwarderSession = null;
for(ForwarderSession fs: sessionIdToForwarderSessionMap.values()){
@@ -336,7 +332,7 @@ public class PortForwarderWebSocketHandler extends AbstractWebSocketHandler {
}
}
LOG.debug("[{}] Session {} got message {} with forwarderSession {}", webSocketSessionKey, session, payload, forwarderSession);
LOG.debug("[{}] Session {} got message {}", webSocketSessionKey, session, payload);
if(payload.startsWith(CONNECTED_TO_CE_PORT_MSG)){
//start reader thread to forward packets from local socket to websocket
@@ -385,7 +381,6 @@ public class PortForwarderWebSocketHandler extends AbstractWebSocketHandler {
int msgPayloadLength = message.getPayloadLength();
int port = payload.getInt();
LOG.debug("handleBinaryMessage: Port {} is used on Equipment {}", port, webSocketSessionKey);
//find forwarderSession by inventoryId and CEPort
ForwarderSession forwarderSession = null;
@@ -424,15 +419,6 @@ public class PortForwarderWebSocketHandler extends AbstractWebSocketHandler {
}
} else {
LOG.debug("[{}] Session {} received message that cannot be delivered because local socket is inoperable {}", webSocketSessionKey, session, message);
if (forwarderSession == null) {
LOG.debug("forwarderSession not found fpr webSocketSessionKey {}", webSocketSessionKey);
} else if (forwarderSession.getLocalSocket() == null) {
LOG.debug("forwarderSession local socket is null for webSocketSessionKey {}", webSocketSessionKey);
} else {
LOG.debug("forwarderSession local socket for webSocketSessionKey {} is closed = {} and connected = {} ",
webSocketSessionKey, forwarderSession.getLocalSocket().isClosed(), forwarderSession.getLocalSocket().isConnected());
}
}
}
@@ -457,26 +443,22 @@ public class PortForwarderWebSocketHandler extends AbstractWebSocketHandler {
@Override
public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception {
LOG.info("[{}] Closed portForwarder websocket connection {} : {}", getWebSocketSessionKey(session), session, closeStatus);
String webSocketSessionKey = getWebSocketSessionKey(session);
LOG.info("[{}] Closed portForwarder websocket connection {} : {}", webSocketSessionKey, session, closeStatus);
webSocketSessionMap.remove(webSocketSessionKey);
LOG.debug(" Removed key {} from webSocketSessionMap", webSocketSessionKey);
//close and remove all forwarder sessions for that CE
Iterator<ForwarderSession> iter = sessionIdToForwarderSessionMap.values().iterator();
while(iter.hasNext()){
ForwarderSession fs = iter.next();
if (fs.getInventoryId().equals(webSocketSessionKey)) {
LOG.debug("Closing webSocketSession for forwarderSession: {} ", fs);
if(fs.getInventoryId().equals(webSocketSessionKey) ){
if(fs.getLocalSocket()!=null && !fs.getLocalSocket().isClosed()){
fs.getLocalSocket().close();
LOG.debug("Closing local Socket for fs {}", fs);
}
if(fs.getServerSocket()!=null && !fs.getServerSocket().isClosed()){
fs.getServerSocket().close();
LOG.debug("Closing Server Socket for fs {}", fs);
}
}
iter.remove();

File diff suppressed because it is too large Load Diff

View File

@@ -53,203 +53,26 @@ public class ClientMetrics extends ServiceMetricDetails {
*/
private Integer numRxData;
/**
* The number of received management frames.
*/
private Integer numRxManagement;
/**
* The number of received control frames.
*/
private Integer numRxControl;
/**
* The number of received bytes.
*/
private Long rxBytes;
/**
* The number of received data bytes.
*/
private Long rxDataBytes;
/**
* The number of received RTS frames.
*/
private Integer numRxRts;
/**
* The number of received CTS frames.
*/
private Integer numRxCts;
/**
* The number of all received ACK frames (Acks + BlockAcks).
*/
private Integer numRxAck;
/**
* The number of received probe request frames.
*/
private Integer numRxProbeReq;
/**
* The number of received retry frames.
*/
private Integer numRxRetry;
/**
* The number of received duplicated frames.
*/
private Integer numRxDup;
/**
* The number of received null data frames.
*/
private Integer numRxNullData;
/**
* The number of received ps-poll frames.
*/
private Integer numRxPspoll;
/**
* The number of received STBC frames.
*/
private Integer numRxStbc;
/**
* The number of received LDPC frames.
*/
private Integer numRxLdpc;
/**
* The timestamp of last received layer three user traffic (IP data)
*/
private Long lastRecvLayer3Ts;
/**
* The number of received ethernet and local generated frames for transmit.
*/
private Long numRcvFrameForTx;
/**
* The number of TX frames queued.
*/
private Long numTxQueued;
/**
* The number of every TX frame dropped.
*/
private Integer numTxDropped;
/**
* The number of TX frame dropped due to retries.
*/
private Integer numTxRetryDropped;
/**
* The number of frames successfully transmitted.
*/
private Integer numTxSucc;
/**
* The Number of Tx bytes successfully transmitted.
*/
private Long numTxByteSucc;
/**
* The number of successfully transmitted frames at first attempt.
*/
private Integer numTxSuccNoRetry;
/**
* The number of successfully transmitted frames with retries.
*/
private Integer numTxSuccRetries;
/**
* The number of Tx frames with retries.
*/
private Integer numTxMultiRetries;
/**
* The number of TX management frames.
*/
private Integer numTxManagement;
/**
* The number of Tx control frames.
*/
private Integer numTxControl;
/**
* The number of Tx action frames.
*/
private Integer numTxAction;
/**
* The number of TX probe response.
*/
private Integer numTxPropResp;
/**
* The number of Tx data frames.
*/
private Integer numTxData;
/**
* The number of Tx data frames with retries,done.
*/
private Integer numTxDataRetries;
/**
* The number of RTS frames sent successfully, done.
*/
private Integer numTxRtsSucc;
/**
* The number of RTS frames failed transmission.
*/
private Integer numTxRtsFail;
/**
* The number of TX frames failed because of not Acked.
*/
private Integer numTxNoAck;
/**
* The number of EAPOL frames sent.
*/
private Integer numTxEapol;
/**
* The number of total LDPC frames sent.
*/
private Integer numTxLdpc;
/**
* The number of total STBC frames sent.
*/
private Integer numTxStbc;
/**
* The number of aggregation frames sent successfully.
*/
private Integer numTxAggrSucc;
/**
* The number of aggregation frames sent using single MPDU (where the A-MPDU
* contains only one MPDU. ).
*/
private Integer numTxAggrOneMpdu;
/**
* The timestamp of last successfully sent layer three user traffic (IP
* data).
*/
private Long lastSentLayer3Ts;
/**
* Radio Type
*/
@@ -289,151 +112,42 @@ public class ClientMetrics extends ServiceMetricDetails {
}
ClientMetrics other = (ClientMetrics) obj;
return Objects.equals(averageRxRate, other.averageRxRate) && Objects.equals(averageTxRate, other.averageTxRate)
&& this.channelBandWidth == other.channelBandWidth && Objects.equals(lastRecvLayer3Ts, other.lastRecvLayer3Ts)
&& Objects.equals(classificationName, other.classificationName)
&& Objects.equals(lastSentLayer3Ts, other.lastSentLayer3Ts)
&& Objects.equals(numRcvFrameForTx, other.numRcvFrameForTx)
&& Objects.equals(numRxAck, other.numRxAck) && Objects.equals(numRxBytes, other.numRxBytes)
&& Objects.equals(numRxControl, other.numRxControl) && Objects.equals(numRxCts, other.numRxCts)
&& Objects.equals(numRxData, other.numRxData)
&& Objects.equals(numRxDup, other.numRxDup)
&& Objects.equals(numRxFramesReceived, other.numRxFramesReceived)
&& Objects.equals(numRxLdpc, other.numRxLdpc) && Objects.equals(numRxManagement, other.numRxManagement)
&& Objects.equals(numRxNoFcsErr, other.numRxNoFcsErr)
&& Objects.equals(numRxNullData, other.numRxNullData)
&& Objects.equals(numRxPackets, other.numRxPackets)
&& Objects.equals(numRxProbeReq, other.numRxProbeReq) && Objects.equals(numRxPspoll, other.numRxPspoll)
&& Objects.equals(numRxRetry, other.numRxRetry) && Objects.equals(numRxRts, other.numRxRts)
&& Objects.equals(numRxStbc, other.numRxStbc)
&& Objects.equals(numTxAction, other.numTxAction)
&& Objects.equals(numTxAggrOneMpdu, other.numTxAggrOneMpdu)
&& Objects.equals(numTxAggrSucc, other.numTxAggrSucc)
&& Objects.equals(numTxByteSucc, other.numTxByteSucc) && Objects.equals(numTxBytes, other.numTxBytes)
&& Objects.equals(numTxControl, other.numTxControl) && Objects.equals(numTxData, other.numTxData)
&& Objects.equals(numTxDataRetries, other.numTxDataRetries)
&& Objects.equals(numTxDropped, other.numTxDropped) && Objects.equals(numTxEapol, other.numTxEapol)
&& Objects.equals(numTxFramesTransmitted, other.numTxFramesTransmitted)
&& Objects.equals(numTxLdpc, other.numTxLdpc) && Objects.equals(numTxManagement, other.numTxManagement)
&& Objects.equals(numTxMultiRetries, other.numTxMultiRetries)
&& Objects.equals(numTxNoAck, other.numTxNoAck) && Objects.equals(numTxPackets, other.numTxPackets)
&& Objects.equals(numTxPropResp, other.numTxPropResp) && Objects.equals(numTxQueued, other.numTxQueued)
&& Objects.equals(numTxRetryDropped, other.numTxRetryDropped)
&& Objects.equals(numTxRtsFail, other.numTxRtsFail) && Objects.equals(numTxRtsSucc, other.numTxRtsSucc)
&& Objects.equals(numTxStbc, other.numTxStbc) && Objects.equals(numTxSucc, other.numTxSucc)
&& Objects.equals(numTxSuccNoRetry, other.numTxSuccNoRetry)
&& Objects.equals(numTxSuccRetries, other.numTxSuccRetries)
&& this.radioType == other.radioType
&& Arrays.equals(rates, other.rates) && Objects.equals(rssi, other.rssi)
&& Objects.equals(rxBytes, other.rxBytes) && Objects.equals(rxDataBytes, other.rxDataBytes)
&& Objects.equals(rxDuplicatePackets, other.rxDuplicatePackets)
&& Objects.equals(rxLastRssi, other.rxLastRssi)
&& this.channelBandWidth == other.channelBandWidth && Objects.equals(classificationName, other.classificationName)
&& Objects.equals(numRxBytes, other.numRxBytes) && Objects.equals(numRxData, other.numRxData)
&& Objects.equals(numRxFramesReceived, other.numRxFramesReceived) && Objects.equals(numRxNoFcsErr, other.numRxNoFcsErr)
&& Objects.equals(numRxPackets, other.numRxPackets) && Objects.equals(numRxRetry, other.numRxRetry)
&& Objects.equals(numTxBytes, other.numTxBytes) && Objects.equals(numTxDataRetries, other.numTxDataRetries)
&& Objects.equals(numTxDropped, other.numTxDropped) && Objects.equals(numTxFramesTransmitted, other.numTxFramesTransmitted)
&& Objects.equals(numTxPackets, other.numTxPackets) && this.radioType == other.radioType
&& Arrays.equals(rates, other.rates) && Objects.equals(rssi, other.rssi) && Objects.equals(rxBytes, other.rxBytes)
&& Objects.equals(rxDuplicatePackets, other.rxDuplicatePackets) && Objects.equals(rxLastRssi, other.rxLastRssi)
&& Objects.equals(snr, other.snr) && Objects.equals(txRetries, other.txRetries);
}
public Long getLastRecvLayer3Ts() {
return lastRecvLayer3Ts;
}
public Long getLastSentLayer3Ts() {
return lastSentLayer3Ts;
}
public Long getNumRcvFrameForTx() {
return numRcvFrameForTx;
}
public Integer getNumRxAck() {
return numRxAck;
}
public Long getNumRxBytes() {
return numRxBytes;
}
public Integer getNumRxControl() {
return numRxControl;
}
public Integer getNumRxCts() {
return numRxCts;
}
public Integer getNumRxData() {
return numRxData;
}
public Integer getNumRxDup() {
return numRxDup;
}
public Integer getNumRxLdpc() {
return numRxLdpc;
}
public Integer getNumRxManagement() {
return numRxManagement;
}
public Integer getNumRxNoFcsErr() {
return numRxNoFcsErr;
}
public Integer getNumRxNullData() {
return numRxNullData;
}
public Long getNumRxPackets() {
return numRxPackets;
}
public Integer getNumRxProbeReq() {
return numRxProbeReq;
}
public Integer getNumRxPspoll() {
return numRxPspoll;
}
public Integer getNumRxRetry() {
return numRxRetry;
}
public Integer getNumRxRts() {
return numRxRts;
}
public Integer getNumRxStbc() {
return numRxStbc;
}
public Integer getNumTxAction() {
return numTxAction;
}
public Integer getNumTxAggrOneMpdu() {
return numTxAggrOneMpdu;
}
public Integer getNumTxAggrSucc() {
return numTxAggrSucc;
}
public Long getNumTxBytes() {
return numTxBytes;
}
public Long getNumTxByteSucc() {
return numTxByteSucc;
}
public Integer getNumTxControl() {
return numTxControl;
}
public Integer getNumTxData() {
return numTxData;
}
public Integer getNumTxDataRetries() {
return numTxDataRetries;
}
@@ -442,66 +156,10 @@ public class ClientMetrics extends ServiceMetricDetails {
return numTxDropped;
}
public Integer getNumTxEapol() {
return numTxEapol;
}
public Integer getNumTxLdpc() {
return numTxLdpc;
}
public Integer getNumTxManagement() {
return numTxManagement;
}
public Integer getNumTxMultiRetries() {
return numTxMultiRetries;
}
public Integer getNumTxNoAck() {
return numTxNoAck;
}
public Long getNumTxPackets() {
return numTxPackets;
}
public Integer getNumTxPropResp() {
return numTxPropResp;
}
public Long getNumTxQueued() {
return numTxQueued;
}
public Integer getNumTxRetryDropped() {
return numTxRetryDropped;
}
public Integer getNumTxRtsFail() {
return numTxRtsFail;
}
public Integer getNumTxRtsSucc() {
return numTxRtsSucc;
}
public Integer getNumTxStbc() {
return numTxStbc;
}
public Integer getNumTxSucc() {
return numTxSucc;
}
public Integer getNumTxSuccNoRetry() {
return numTxSuccNoRetry;
}
public Integer getNumTxSuccRetries() {
return numTxSuccRetries;
}
public RadioType getRadioType() {
return radioType;
}
@@ -518,10 +176,6 @@ public class ClientMetrics extends ServiceMetricDetails {
return rxBytes;
}
public Long getRxDataBytes() {
return rxDataBytes;
}
public Integer getRxDuplicatePackets() {
return rxDuplicatePackets;
}
@@ -544,16 +198,10 @@ public class ClientMetrics extends ServiceMetricDetails {
int result = super.hashCode();
result = prime * result + Arrays.hashCode(this.rates);
result = prime * result + Objects.hash(averageRxRate, averageTxRate, channelBandWidth,
classificationName, lastRecvLayer3Ts, lastSentLayer3Ts,
numRcvFrameForTx, numRxAck, numRxBytes, numRxControl, numRxCts, numRxData,
numRxDup, numRxFramesReceived, numRxLdpc, numRxManagement,
numRxNoFcsErr, numRxNullData, numRxPackets, numRxProbeReq, numRxPspoll, numRxRetry, numRxRts, numRxStbc,
numTxAction, numTxAggrOneMpdu, numTxAggrSucc, numTxByteSucc, numTxBytes,
numTxControl, numTxData, numTxDataRetries, numTxDropped, numTxEapol, numTxFramesTransmitted,
numTxLdpc, numTxManagement,
numTxMultiRetries, numTxNoAck, numTxPackets, numTxPropResp, numTxQueued,
numTxRetryDropped, numTxRtsFail, numTxRtsSucc, numTxStbc, numTxSucc, numTxSuccNoRetry, numTxSuccRetries,
radioType, rssi, rxBytes, rxDataBytes, rxDuplicatePackets, rxLastRssi, snr, txRetries);
classificationName, numRxBytes, numRxData, numRxFramesReceived,
numRxNoFcsErr, numRxPackets, numRxRetry, numTxBytes,
numTxDataRetries, numTxDropped, numTxFramesTransmitted, numTxPackets,
radioType, rssi, rxBytes, rxDuplicatePackets, rxLastRssi, snr, txRetries);
return result;
}
@@ -568,110 +216,30 @@ public class ClientMetrics extends ServiceMetricDetails {
return false;
}
public void setLastRecvLayer3Ts(Long lastRecvLayer3Ts) {
this.lastRecvLayer3Ts = lastRecvLayer3Ts;
}
public void setLastSentLayer3Ts(Long lastSentLayer3Ts) {
this.lastSentLayer3Ts = lastSentLayer3Ts;
}
public void setNumRcvFrameForTx(Long numRcvFrameForTx) {
this.numRcvFrameForTx = numRcvFrameForTx;
}
public void setNumRxAck(Integer numRxAck) {
this.numRxAck = numRxAck;
}
public void setNumRxBytes(Long numRxBytes) {
this.numRxBytes = numRxBytes;
}
public void setNumRxControl(Integer numRxControl) {
this.numRxControl = numRxControl;
}
public void setNumRxCts(Integer numRxCts) {
this.numRxCts = numRxCts;
}
public void setNumRxData(Integer numRxData) {
this.numRxData = numRxData;
}
public void setNumRxDup(Integer numRxDup) {
this.numRxDup = numRxDup;
}
public void setNumRxLdpc(Integer numRxLdpc) {
this.numRxLdpc = numRxLdpc;
}
public void setNumRxManagement(Integer numRxManagement) {
this.numRxManagement = numRxManagement;
}
public void setNumRxNoFcsErr(Integer numRxNoFcsErr) {
this.numRxNoFcsErr = numRxNoFcsErr;
}
public void setNumRxNullData(Integer numRxNullData) {
this.numRxNullData = numRxNullData;
}
public void setNumRxPackets(Long numRxPackets) {
this.numRxPackets = numRxPackets;
}
public void setNumRxProbeReq(Integer numRxProbeReq) {
this.numRxProbeReq = numRxProbeReq;
}
public void setNumRxPspoll(Integer numRxPspoll) {
this.numRxPspoll = numRxPspoll;
}
public void setNumRxRetry(Integer numRxRetry) {
this.numRxRetry = numRxRetry;
}
public void setNumRxRts(Integer numRxRts) {
this.numRxRts = numRxRts;
}
public void setNumRxStbc(Integer numRxStbc) {
this.numRxStbc = numRxStbc;
}
public void setNumTxAction(Integer numTxAction) {
this.numTxAction = numTxAction;
}
public void setNumTxAggrOneMpdu(Integer numTxAggrOneMpdu) {
this.numTxAggrOneMpdu = numTxAggrOneMpdu;
}
public void setNumTxAggrSucc(Integer numTxAggrSucc) {
this.numTxAggrSucc = numTxAggrSucc;
}
public void setNumTxBytes(Long numTxBytes) {
this.numTxBytes = numTxBytes;
}
public void setNumTxByteSucc(Long numTxByteSucc) {
this.numTxByteSucc = numTxByteSucc;
}
public void setNumTxControl(Integer numTxControl) {
this.numTxControl = numTxControl;
}
public void setNumTxData(Integer numTxData) {
this.numTxData = numTxData;
}
public void setNumTxDataRetries(Integer numTxDataRetries) {
this.numTxDataRetries = numTxDataRetries;
}
@@ -680,66 +248,10 @@ public class ClientMetrics extends ServiceMetricDetails {
this.numTxDropped = numTxDropped;
}
public void setNumTxEapol(Integer numTxEapol) {
this.numTxEapol = numTxEapol;
}
public void setNumTxLdpc(Integer numTxLdpc) {
this.numTxLdpc = numTxLdpc;
}
public void setNumTxManagement(Integer numTxManagement) {
this.numTxManagement = numTxManagement;
}
public void setNumTxMultiRetries(Integer numTxMultiRetries) {
this.numTxMultiRetries = numTxMultiRetries;
}
public void setNumTxNoAck(Integer numTxNoAck) {
this.numTxNoAck = numTxNoAck;
}
public void setNumTxPackets(Long numTxPackets) {
this.numTxPackets = numTxPackets;
}
public void setNumTxPropResp(Integer numTxPropResp) {
this.numTxPropResp = numTxPropResp;
}
public void setNumTxQueued(Long numTxQueued) {
this.numTxQueued = numTxQueued;
}
public void setNumTxRetryDropped(Integer numTxRetryDropped) {
this.numTxRetryDropped = numTxRetryDropped;
}
public void setNumTxRtsFail(Integer numTxRtsFail) {
this.numTxRtsFail = numTxRtsFail;
}
public void setNumTxRtsSucc(Integer numTxRtsSucc) {
this.numTxRtsSucc = numTxRtsSucc;
}
public void setNumTxStbc(Integer numTxStbc) {
this.numTxStbc = numTxStbc;
}
public void setNumTxSucc(Integer numTxSucc) {
this.numTxSucc = numTxSucc;
}
public void setNumTxSuccNoRetry(Integer numTxSuccNoRetry) {
this.numTxSuccNoRetry = numTxSuccNoRetry;
}
public void setNumTxSuccRetries(Integer numTxSuccRetries) {
this.numTxSuccRetries = numTxSuccRetries;
}
public void setRadioType(RadioType radioType) {
this.radioType = radioType;
}
@@ -756,10 +268,6 @@ public class ClientMetrics extends ServiceMetricDetails {
this.rxBytes = rxBytes;
}
public void setRxDataBytes(Long rxDataBytes) {
this.rxDataBytes = rxDataBytes;
}
public void setRxDuplicatePackets(Integer rxDuplicatePackets) {
this.rxDuplicatePackets = rxDuplicatePackets;
}