2 * Copyright (c) 2016 Dell Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.netvirt.ipv6service.utils;
11 import io.netty.util.HashedWheelTimer;
12 import io.netty.util.Timeout;
13 import io.netty.util.Timer;
14 import io.netty.util.TimerTask;
15 import java.util.concurrent.TimeUnit;
17 public class Ipv6TimerWheel implements AutoCloseable {
18 private final Timer ipv6PeriodicRATimerWheel = new HashedWheelTimer();
20 public Timeout setPeriodicTransmissionTimeout(TimerTask task, long delay, TimeUnit unit) {
21 Timeout timeout = null;
22 synchronized (ipv6PeriodicRATimerWheel) {
23 timeout = ipv6PeriodicRATimerWheel.newTimeout(task, delay, unit);
28 public void cancelPeriodicTransmissionTimeout(Timeout timeout) {
29 if (timeout != null) {
30 synchronized (timeout) {
31 if (!timeout.isExpired()) {
40 ipv6PeriodicRATimerWheel.stop();