PlcRequestContainer<CorrelatedPlcReadRequest, InternalPlcResponse> correlatedPlcRequestContainer = new PlcRequestContainer<>(CorrelatedPlcReadRequest.of(reader, field, tdpu), correlatedCompletableFuture);
correlationToParentContainer.put(tdpu, in);
queue.add(correlatedPlcRequestContainer, subPromise);
if (!tdpus.add(tdpu)) {
throw new IllegalStateException("AtomicInteger should not create duplicated ids: " + tdpu);
PlcRequestContainer<CorrelatedPlcWriteRequest, InternalPlcResponse> correlatedPlcRequestContainer = new PlcRequestContainer<>(CorrelatedPlcWriteRequest.of(writer, fieldItemTriple, tdpu), correlatedCompletableFuture);
correlationToParentContainer.put(tdpu, in);
queue.add(correlatedPlcRequestContainer, subPromise);
if (!tdpus.add(tdpu)) {
throw new IllegalStateException("AtomicInteger should not create duplicated ids: " + tdpu);
PlcRequestContainer<CorrelatedPlcSubscriptionRequest, InternalPlcResponse> correlatedPlcRequestContainer = new PlcRequestContainer<>(CorrelatedPlcSubscriptionRequest.of(subscriber, field, tdpu), correlatedCompletableFuture);
correlationToParentContainer.put(tdpu, in);
queue.add(correlatedPlcRequestContainer, subPromise);
if (!tdpus.add(tdpu)) {
throw new IllegalStateException("AtomicInteger should not create duplicated ids: " + tdpu);
PlcRequestContainer<CorrelatedPlcUnsubscriptionRequest, InternalPlcResponse> correlatedPlcRequestContainer = new PlcRequestContainer<>(CorrelatedPlcUnsubscriptionRequest.of(subscriber, handle, tdpu), correlatedCompletableFuture);
correlationToParentContainer.put(tdpu, in);
queue.add(correlatedPlcRequestContainer, subPromise);
if (!tdpus.add(tdpu)) {
throw new IllegalStateException("AtomicInteger should not create duplicated ids: " + tdpu);
} else {
ChannelPromise subPromise = new DefaultChannelPromise(promise.channel());
queue.add(msg, subPromise);
promiseCombiner.add((Future) subPromise);