blob: b01aedfe9b09433268bcad10eeff66510a6e658f [file] [log] [blame]
package net.floodlightcontroller.flowcache;
import java.util.ArrayList;
/**
* Object to return flows in response to a query message to BigFlowCache.
* This object is passed in the flowQueryRespHandler() callback.
*/
public class FlowCacheQueryResp {
/** query object provided by the caller, returned unchanged. */
public FCQueryObj queryObj;
/**
* Set to true if more flows could be returned for this query in
* additional callbacks. Set of false in the last callback for the
* query.
*/
public boolean moreFlag;
/**
* Set to true if the response has been sent to handler
*/
public boolean hasSent;
/**
* The flow list. If there are large number of flows to be returned
* then they may be returned in multiple callbacks.
*/
public ArrayList<QRFlowCacheObj> qrFlowCacheObjList;
/**
* Instantiates a new big flow cache query response.
*
* @param query the flow cache query object as given by the caller of
* flow cache submit query API.
*/
public FlowCacheQueryResp(FCQueryObj query) {
qrFlowCacheObjList = new ArrayList<QRFlowCacheObj>();
queryObj = query;
moreFlag = false;
hasSent = false;
}
/* (non-Javadoc)
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
String s = queryObj.toString() + "; moreFlasg=" + moreFlag +
"; hasSent=" + hasSent;
s += "; FlowCount=" + Integer.toString(qrFlowCacheObjList.size());
return s;
}
}