| package net.floodlightcontroller.debugcounter; |
| |
| public interface IDebugCounter { |
| /** |
| * Increments the counter by 1 thread-locally, and immediately flushes to |
| * the global counter storage. This method should be used for counters that |
| * are updated outside the OF message processing pipeline. |
| */ |
| void updateCounterWithFlush(); |
| |
| /** |
| * Increments the counter by 1 thread-locally. Flushing to the global |
| * counter storage is delayed (happens with flushCounters() in IDebugCounterService), |
| * resulting in higher performance. This method should be used for counters |
| * updated in the OF message processing pipeline. |
| */ |
| void updateCounterNoFlush(); |
| |
| /** |
| * Increments the counter thread-locally by the 'incr' specified, and immediately |
| * flushes to the global counter storage. This method should be used for counters |
| * that are updated outside the OF message processing pipeline. |
| */ |
| void updateCounterWithFlush(int incr); |
| |
| /** |
| * Increments the counter thread-locally by the 'incr' specified. Flushing to the global |
| * counter storage is delayed (happens with flushCounters() in IDebugCounterService), |
| * resulting in higher performance. This method should be used for counters |
| * updated in the OF message processing pipeline. |
| */ |
| void updateCounterNoFlush(int incr); |
| |
| /** |
| * Retrieve the value of the counter from the global counter store |
| */ |
| long getCounterValue(); |
| } |