Implement PCE RPC path-computation-reroute-request
[transportpce.git] / pce / src / main / java / org / opendaylight / transportpce / pce / service / PathComputationService.java
1 /*
2  * Copyright © 2017 AT&T, Inc. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.transportpce.pce.service;
9
10 import com.google.common.util.concurrent.ListenableFuture;
11 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.CancelResourceReserveInput;
12 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.CancelResourceReserveOutput;
13 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.PathComputationRequestInput;
14 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.PathComputationRequestOutput;
15 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.PathComputationRerouteRequestInput;
16 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.PathComputationRerouteRequestOutput;
17
18 /**
19  * Path Computation Service.
20  */
21 public interface PathComputationService {
22
23     /**
24      * Cancels a resource reservation.
25      *
26      * @param input CancelResourceReserveInput data
27      * @return output CancelResourceReserveOutput data
28      */
29     ListenableFuture<CancelResourceReserveOutput> cancelResourceReserve(CancelResourceReserveInput input);
30
31     /**
32      * Requests a path computation.
33      *
34      * @param input PathComputationRequestInput data
35      * @return output PathComputationRequestOutput data
36      */
37     ListenableFuture<PathComputationRequestOutput> pathComputationRequest(PathComputationRequestInput input);
38
39     /**
40      * Requests a path computation in order to reroute a service.
41      *
42      * @param input PathComputationRerouteRequestInput data
43      * @return output PathComputationRerouteRequestOutput data
44      */
45     ListenableFuture<PathComputationRerouteRequestOutput> pathComputationRerouteRequest(
46             PathComputationRerouteRequestInput input);
47
48 }