* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-
package org.opendaylight.netconf.client;
import com.google.common.base.Preconditions;
import io.netty.util.concurrent.Promise;
import java.util.ArrayDeque;
import java.util.Queue;
-import javax.annotation.concurrent.GuardedBy;
+import org.checkerframework.checker.lock.qual.GuardedBy;
+import org.checkerframework.checker.lock.qual.Holding;
import org.opendaylight.netconf.api.NetconfMessage;
import org.opendaylight.netconf.api.NetconfTerminationReason;
import org.slf4j.Logger;
private final Promise<NetconfMessage> promise;
private final NetconfMessage request;
- RequestEntry(Promise<NetconfMessage> future, NetconfMessage request) {
+ RequestEntry(final Promise<NetconfMessage> future, final NetconfMessage request) {
this.promise = Preconditions.checkNotNull(future);
this.request = Preconditions.checkNotNull(request);
}
@GuardedBy("this")
private NetconfClientSession clientSession;
- @GuardedBy("this")
+ @Holding("this")
private void dispatchRequest() {
while (!requests.isEmpty()) {
final RequestEntry e = requests.peek();
}
LOG.debug("Message {} has been cancelled, skipping it", e.request);
- requests.poll();
+ requests.remove();
}
}
@Override
@SuppressWarnings("checkstyle:hiddenField")
- public final synchronized void onSessionUp(NetconfClientSession clientSession) {
+ public final synchronized void onSessionUp(final NetconfClientSession clientSession) {
this.clientSession = Preconditions.checkNotNull(clientSession);
LOG.debug("Client session {} went up", clientSession);
dispatchRequest();
@Override
@SuppressWarnings("checkstyle:hiddenField")
- public final void onSessionDown(NetconfClientSession clientSession, Exception exception) {
+ public final void onSessionDown(final NetconfClientSession clientSession, final Exception exception) {
LOG.debug("Client Session {} went down unexpectedly", clientSession, exception);
tearDown(exception);
}
@Override
@SuppressWarnings("checkstyle:hiddenField")
- public final void onSessionTerminated(NetconfClientSession clientSession,
- NetconfTerminationReason netconfTerminationReason) {
+ public final void onSessionTerminated(final NetconfClientSession clientSession,
+ final NetconfTerminationReason netconfTerminationReason) {
LOG.debug("Client Session {} terminated, reason: {}", clientSession,
netconfTerminationReason.getErrorMessage());
tearDown(new RuntimeException(netconfTerminationReason.getErrorMessage()));
}
@Override
- public synchronized void onMessage(NetconfClientSession session, NetconfMessage message) {
+ public synchronized void onMessage(final NetconfClientSession session, final NetconfMessage message) {
LOG.debug("New message arrived: {}", message);
final RequestEntry e = requests.poll();
}
}
- public final synchronized Future<NetconfMessage> sendRequest(NetconfMessage message) {
- final RequestEntry req = new RequestEntry(GlobalEventExecutor.INSTANCE.<NetconfMessage>newPromise(), message);
+ public final synchronized Future<NetconfMessage> sendRequest(final NetconfMessage message) {
+ final RequestEntry req = new RequestEntry(GlobalEventExecutor.INSTANCE.newPromise(), message);
requests.add(req);
if (clientSession != null) {