// Path: src/main/java/com/lmax/angler/monitoring/network/monitor/util/TokenHandler.java
// public interface TokenHandler
// {
//     /**
//      * Handle a single token.
//      * @param src data source
//      * @param startPosition the start position of the token
//      * @param endPosition the end position of the token
//      */
//     void handleToken(final ByteBuffer src, final int startPosition, final int endPosition);
// 
//     /**
//      * Current token set is complete.
//      */
//     void complete();
// 
//     /**
//      * Reset state in preparation for handling a new data set.
//      */
//     void reset();
// }


import com.lmax.angler.monitoring.network.monitor.util.TokenHandler;
import java.nio.ByteBuffer;
import java.util.function.Consumer;
import static com.lmax.angler.monitoring.network.monitor.util.HexToLongDecoder.LOWER_CASE;
package com.lmax.angler.monitoring.network.monitor.system.softnet;




/**
 * TokenHandler for data in /proc/net/softnet_stat.
 */
final class SoftnetStatColumnHandler implements TokenHandler
{
    private final Consumer<CpuSoftIrqData> cpuSoftIrqDataConsumer;
    private final CpuSoftIrqData entry = new CpuSoftIrqData(-1);
    private int currentColumn = 0;

// Path: src/main/java/com/lmax/angler/monitoring/network/monitor/util/TokenHandler.java
// public interface TokenHandler
// {
//     /**
//      * Handle a single token.
//      * @param src data source
//      * @param startPosition the start position of the token
//      * @param endPosition the end position of the token
//      */
//     void handleToken(final ByteBuffer src, final int startPosition, final int endPosition);
// 
//     /**
//      * Current token set is complete.
//      */
//     void complete();
// 
//     /**
//      * Reset state in preparation for handling a new data set.
//      */
//     void reset();
// }


// Path: src/main/java/com/lmax/angler/monitoring/network/monitor/system/softnet/SoftnetStatColumnHandler.java
import com.lmax.angler.monitoring.network.monitor.util.TokenHandler;
import java.nio.ByteBuffer;
import java.util.function.Consumer;
import static com.lmax.angler.monitoring.network.monitor.util.HexToLongDecoder.LOWER_CASE;

package com.lmax.angler.monitoring.network.monitor.system.softnet;




/**
 * TokenHandler for data in /proc/net/softnet_stat.
 */
final class SoftnetStatColumnHandler implements TokenHandler
{
    private final Consumer<CpuSoftIrqData> cpuSoftIrqDataConsumer;
    private final CpuSoftIrqData entry = new CpuSoftIrqData(-1);
    private int currentColumn = 0;

    public SoftnetStatColumnHandler(final Consumer<CpuSoftIrqData> cpuSoftIrqDataConsumer)