<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: ethernet.proto

namespace OS\PB;

use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\GPBUtil;
use Google\Protobuf\RepeatedField;

/**
 * Generated from protobuf message <code>OS.PB.EthernetMetric</code>
 */
class EthernetMetric extends \Google\Protobuf\Internal\Message
{
    /**
     * Data metrics
     *
     * Generated from protobuf field <code>uint32 BytesTransmitted = 1;</code>
     */
    protected $BytesTransmitted = 0;
    /**
     * Number of bytes received in this metric interval
     *
     * Generated from protobuf field <code>uint32 BytesReceived = 2;</code>
     */
    protected $BytesReceived = 0;
    /**
     * Number of bytes received exclusively for this device
     *
     * Generated from protobuf field <code>uint32 BytesReceivedExclusive = 3;</code>
     */
    protected $BytesReceivedExclusive = 0;
    /**
     * Packet Metrics
     *
     * Generated from protobuf field <code>uint32 PacketsTransmitted = 7;</code>
     */
    protected $PacketsTransmitted = 0;
    /**
     * Number of packets received
     *
     * Generated from protobuf field <code>uint32 PacketsReceived = 8;</code>
     */
    protected $PacketsReceived = 0;
    /**
     * Number of packets received exclusively for this device
     *
     * Generated from protobuf field <code>uint32 PacketsReceivedExclusive = 9;</code>
     */
    protected $PacketsReceivedExclusive = 0;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type int $BytesTransmitted
     *           Data metrics
     *     @type int $BytesReceived
     *           Number of bytes received in this metric interval
     *     @type int $BytesReceivedExclusive
     *           Number of bytes received exclusively for this device
     *     @type int $PacketsTransmitted
     *           Packet Metrics
     *     @type int $PacketsReceived
     *           Number of packets received
     *     @type int $PacketsReceivedExclusive
     *           Number of packets received exclusively for this device
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Ethernet::initOnce();
        parent::__construct($data);
    }

    /**
     * Data metrics
     *
     * Generated from protobuf field <code>uint32 BytesTransmitted = 1;</code>
     * @return int
     */
    public function getBytesTransmitted()
    {
        return $this->BytesTransmitted;
    }

    /**
     * Data metrics
     *
     * Generated from protobuf field <code>uint32 BytesTransmitted = 1;</code>
     * @param int $var
     * @return $this
     */
    public function setBytesTransmitted($var)
    {
        GPBUtil::checkUint32($var);
        $this->BytesTransmitted = $var;

        return $this;
    }

    /**
     * Number of bytes received in this metric interval
     *
     * Generated from protobuf field <code>uint32 BytesReceived = 2;</code>
     * @return int
     */
    public function getBytesReceived()
    {
        return $this->BytesReceived;
    }

    /**
     * Number of bytes received in this metric interval
     *
     * Generated from protobuf field <code>uint32 BytesReceived = 2;</code>
     * @param int $var
     * @return $this
     */
    public function setBytesReceived($var)
    {
        GPBUtil::checkUint32($var);
        $this->BytesReceived = $var;

        return $this;
    }

    /**
     * Number of bytes received exclusively for this device
     *
     * Generated from protobuf field <code>uint32 BytesReceivedExclusive = 3;</code>
     * @return int
     */
    public function getBytesReceivedExclusive()
    {
        return $this->BytesReceivedExclusive;
    }

    /**
     * Number of bytes received exclusively for this device
     *
     * Generated from protobuf field <code>uint32 BytesReceivedExclusive = 3;</code>
     * @param int $var
     * @return $this
     */
    public function setBytesReceivedExclusive($var)
    {
        GPBUtil::checkUint32($var);
        $this->BytesReceivedExclusive = $var;

        return $this;
    }

    /**
     * Packet Metrics
     *
     * Generated from protobuf field <code>uint32 PacketsTransmitted = 7;</code>
     * @return int
     */
    public function getPacketsTransmitted()
    {
        return $this->PacketsTransmitted;
    }

    /**
     * Packet Metrics
     *
     * Generated from protobuf field <code>uint32 PacketsTransmitted = 7;</code>
     * @param int $var
     * @return $this
     */
    public function setPacketsTransmitted($var)
    {
        GPBUtil::checkUint32($var);
        $this->PacketsTransmitted = $var;

        return $this;
    }

    /**
     * Number of packets received
     *
     * Generated from protobuf field <code>uint32 PacketsReceived = 8;</code>
     * @return int
     */
    public function getPacketsReceived()
    {
        return $this->PacketsReceived;
    }

    /**
     * Number of packets received
     *
     * Generated from protobuf field <code>uint32 PacketsReceived = 8;</code>
     * @param int $var
     * @return $this
     */
    public function setPacketsReceived($var)
    {
        GPBUtil::checkUint32($var);
        $this->PacketsReceived = $var;

        return $this;
    }

    /**
     * Number of packets received exclusively for this device
     *
     * Generated from protobuf field <code>uint32 PacketsReceivedExclusive = 9;</code>
     * @return int
     */
    public function getPacketsReceivedExclusive()
    {
        return $this->PacketsReceivedExclusive;
    }

    /**
     * Number of packets received exclusively for this device
     *
     * Generated from protobuf field <code>uint32 PacketsReceivedExclusive = 9;</code>
     * @param int $var
     * @return $this
     */
    public function setPacketsReceivedExclusive($var)
    {
        GPBUtil::checkUint32($var);
        $this->PacketsReceivedExclusive = $var;

        return $this;
    }

}

