Commit 2aba74a3131a8b5fece67be959d9cb2b7bd25e24

Authored by nickAS21
1 parent b0f5ff7c

LWM2M: add AtomicInteger ts

@@ -53,6 +53,8 @@ import java.io.ByteArrayInputStream; @@ -53,6 +53,8 @@ import java.io.ByteArrayInputStream;
53 import java.io.IOException; 53 import java.io.IOException;
54 import java.util.ArrayList; 54 import java.util.ArrayList;
55 import java.util.List; 55 import java.util.List;
  56 +import java.util.concurrent.TimeUnit;
  57 +import java.util.concurrent.atomic.AtomicInteger;
56 58
57 import static org.thingsboard.server.gen.transport.TransportProtos.KeyValueType.BOOLEAN_V; 59 import static org.thingsboard.server.gen.transport.TransportProtos.KeyValueType.BOOLEAN_V;
58 60
@@ -64,6 +66,13 @@ public class LwM2mTransportServerHelper { @@ -64,6 +66,13 @@ public class LwM2mTransportServerHelper {
64 66
65 private final LwM2mTransportContext context; 67 private final LwM2mTransportContext context;
66 private final LwM2MJsonAdaptor adaptor; 68 private final LwM2MJsonAdaptor adaptor;
  69 + private final AtomicInteger atomicTs = new AtomicInteger(0);
  70 +
  71 +
  72 + public long getTS() {
  73 + int addTs = atomicTs.getAndIncrement() >= 1000 ? atomicTs.getAndSet(0) : atomicTs.get();
  74 + return TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis()) * 1000L + addTs;
  75 + }
67 76
68 /** 77 /**
69 * send to Thingsboard Attribute || Telemetry 78 * send to Thingsboard Attribute || Telemetry
@@ -96,7 +105,7 @@ public class LwM2mTransportServerHelper { @@ -96,7 +105,7 @@ public class LwM2mTransportServerHelper {
96 public void sendParametersOnThingsboardTelemetry(List<TransportProtos.KeyValueProto> result, SessionInfoProto sessionInfo) { 105 public void sendParametersOnThingsboardTelemetry(List<TransportProtos.KeyValueProto> result, SessionInfoProto sessionInfo) {
97 PostTelemetryMsg.Builder request = PostTelemetryMsg.newBuilder(); 106 PostTelemetryMsg.Builder request = PostTelemetryMsg.newBuilder();
98 TransportProtos.TsKvListProto.Builder builder = TransportProtos.TsKvListProto.newBuilder(); 107 TransportProtos.TsKvListProto.Builder builder = TransportProtos.TsKvListProto.newBuilder();
99 - builder.setTs(System.currentTimeMillis()); 108 + builder.setTs(this.getTS());
100 builder.addAllKv(result); 109 builder.addAllKv(result);
101 request.addTsKvList(builder.build()); 110 request.addTsKvList(builder.build());
102 PostTelemetryMsg postTelemetryMsg = request.build(); 111 PostTelemetryMsg postTelemetryMsg = request.build();