package anastore.util;

import java.util.concurrent.atomic.AtomicInteger;

/**
 * A repository for statistics about a stream.
 */
public class StreamStatistics
{
    private final AtomicInteger bytesSent = new AtomicInteger();
    private final AtomicInteger bytesReceived = new AtomicInteger();

    public int getBytesSent()
    {
        return bytesSent.get();
    }

    public int getBytesReceived()
    {
        return bytesReceived.get();
    }

    public void reset()
    {
        bytesSent.set(0);
        bytesReceived.set(0);
    }

    void addToBytesSent(int v)
    {
        bytesSent.getAndAdd(v);
    }

    void addToBytesReceived(int v)
    {
        bytesReceived.getAndAdd(v);
    }

    @Override
    public String toString()
    {
        return ("Statistics<bytesSent=" + getBytesSent() +
                ",bytesReceived=" + getBytesReceived() + ">");
    }
}
