X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fstatistics-manager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fstatistics%2Fmanager%2FMultipartMessageManager.java;h=425a44946e064c97b44d27f42fdcdc8b1e2b9bc9;hp=56b205216f2b8768fe66606808ec83c7906859e8;hb=721b580748cb93b3dac952ff1f111d0ab0da0c79;hpb=04d9063615080acf6c7ac49221361cea6f502a5e diff --git a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/MultipartMessageManager.java b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/MultipartMessageManager.java index 56b205216f..425a44946e 100644 --- a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/MultipartMessageManager.java +++ b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/MultipartMessageManager.java @@ -11,6 +11,7 @@ import java.util.Iterator; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; +import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.transaction.rev131103.MultipartTransactionAware; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.transaction.rev131103.TransactionAware; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.transaction.rev131103.TransactionId; @@ -91,7 +92,12 @@ class MultipartMessageManager { txIdTotableIdMap.put(new TxIdEntry(id), Preconditions.checkNotNull(tableId)); } - public Short isExpectedTableTransaction(TransactionAware transaction, Boolean more) { + public Short isExpectedTableTransaction(TransactionAware transaction) { + Boolean more = null; + if (transaction instanceof MultipartTransactionAware) { + more = ((MultipartTransactionAware)transaction).isMoreReplies(); + } + if (!isExpectedTransaction(transaction, more)) { return null; } @@ -109,8 +115,8 @@ class MultipartMessageManager { txIdToRequestTypeMap.put(entry, getExpiryTime()); } - public boolean isExpectedTransaction(TransactionAware transaction, Boolean more) { - TxIdEntry entry = new TxIdEntry(transaction.getTransactionId()); + private boolean isExpectedTransaction(TransactionAware transaction, Boolean more) { + final TxIdEntry entry = new TxIdEntry(transaction.getTransactionId()); if (more != null && more.booleanValue()) { return txIdToRequestTypeMap.containsKey(entry); } else { @@ -118,6 +124,15 @@ class MultipartMessageManager { } } + public boolean isExpectedTransaction(TransactionAware transaction) { + Boolean more = null; + if (transaction instanceof MultipartTransactionAware) { + more = ((MultipartTransactionAware)transaction).isMoreReplies(); + } + + return isExpectedTransaction(transaction, more); + } + private Long getExpiryTime() { return System.nanoTime() + lifetimeNanos; }