Code Review
/
openflowjava.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Barrier turn on/off - StackedOutboundQueue definition
[openflowjava.git]
/
openflow-protocol-impl
/
src
/
main
/
java
/
org
/
opendaylight
/
openflowjava
/
protocol
/
impl
/
core
/
connection
/
AbstractOutboundQueueManager.java
diff --git
a/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/core/connection/AbstractOutboundQueueManager.java
b/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/core/connection/AbstractOutboundQueueManager.java
index 49c6ddfa9fb47c155796cbdb3d453cd36704c22d..99bec867e582ae60c2996c67a483ac014c53b679 100644
(file)
--- a/
openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/core/connection/AbstractOutboundQueueManager.java
+++ b/
openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/core/connection/AbstractOutboundQueueManager.java
@@
-29,7
+29,8
@@
import org.slf4j.LoggerFactory;
* Class capsulate basic processing for stacking requests for netty channel
* and provide functionality for pairing request/response device message communication.
*/
* Class capsulate basic processing for stacking requests for netty channel
* and provide functionality for pairing request/response device message communication.
*/
-abstract class AbstractOutboundQueueManager<T extends OutboundQueueHandler> extends ChannelInboundHandlerAdapter
+abstract class AbstractOutboundQueueManager<T extends OutboundQueueHandler, O extends AbstractStackedOutboundQueue>
+ extends ChannelInboundHandlerAdapter
implements AutoCloseable {
private static final Logger LOG = LoggerFactory.getLogger(AbstractOutboundQueueManager.class);
implements AutoCloseable {
private static final Logger LOG = LoggerFactory.getLogger(AbstractOutboundQueueManager.class);
@@
-67,7
+68,7
@@
abstract class AbstractOutboundQueueManager<T extends OutboundQueueHandler> exte
private final AtomicBoolean flushScheduled = new AtomicBoolean();
protected final ConnectionAdapterImpl parent;
protected final InetSocketAddress address;
private final AtomicBoolean flushScheduled = new AtomicBoolean();
protected final ConnectionAdapterImpl parent;
protected final InetSocketAddress address;
- protected final
StackedOutboundQueue
currentQueue;
+ protected final
O
currentQueue;
private final T handler;
// Accessed concurrently
private final T handler;
// Accessed concurrently
@@
-89,12
+90,20
@@
abstract class AbstractOutboundQueueManager<T extends OutboundQueueHandler> exte
this.parent = Preconditions.checkNotNull(parent);
this.handler = Preconditions.checkNotNull(handler);
this.address = address;
this.parent = Preconditions.checkNotNull(parent);
this.handler = Preconditions.checkNotNull(handler);
this.address = address;
- currentQueue = new StackedOutboundQueue(this);
+ /* Note: don't wish to use reflection here */
+ currentQueue = initializeStackedOutboudnqueue();
LOG.debug("Queue manager instantiated with queue {}", currentQueue);
handler.onConnectionQueueChanged(currentQueue);
}
LOG.debug("Queue manager instantiated with queue {}", currentQueue);
handler.onConnectionQueueChanged(currentQueue);
}
+ /**
+ * Method has to initialize some child of {@link AbstractStackedOutboundQueue}
+ *
+ * @return correct implementation of StacketOutboundqueue
+ */
+ protected abstract O initializeStackedOutboudnqueue();
+
@Override
public void close() {
handler.onConnectionQueueChanged(null);
@Override
public void close() {
handler.onConnectionQueueChanged(null);