/**
* Copyright 2016 LinkedIn Corp. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*/
package com.github.ambry.router;
import com.github.ambry.clustermap.ReplicaId;
import com.github.ambry.network.Port;
import com.github.ambry.network.RequestInfo;
import com.github.ambry.network.Send;
/**
* {@link RequestInfo} class extension specifically for the requests sent out by a router. This adds
* additional information about the {@link ReplicaId} to which this request will be sent.
*/
class RouterRequestInfo extends RequestInfo {
private final ReplicaId replicaId;
/**
* Construct a RouterRequestInfo.
* @param host the host associated with the request.
* @param port the port on the host associated with the request.
* @param request the {@link Send} object that is the request payload.
* @param replicaId the {@link ReplicaId} to which this request is targeted.
*/
RouterRequestInfo(String host, Port port, Send request, ReplicaId replicaId) {
super(host, port, request);
this.replicaId = replicaId;
}
/**
* @return the {@link ReplicaId} associated with this request.
*/
ReplicaId getReplicaId() {
return replicaId;
}
}