- public abstract long BytesReceived { get; }
- public abstract long BytesSent { get; }
- public abstract long IncomingPacketsDiscarded { get; }
- public abstract long IncomingPacketsWithErrors { get; }
- public abstract long IncomingUnknownProtocolPackets { get; }
- public abstract long NonUnicastPacketsReceived { get; }
- public abstract long NonUnicastPacketsSent { get; }
- public abstract long OutgoingPacketsDiscarded { get; }
- public abstract long OutgoingPacketsWithErrors { get; }
- public abstract long OutputQueueLength { get; }
- public abstract long UnicastPacketsReceived { get; }
- public abstract long UnicastPacketsSent { get; }
+ public override long BytesReceived {
+ get {
+ return Read ("statistics/rx_bytes");
+ }
+ }
+
+ public override long BytesSent {
+ get {
+ return Read ("statistics/tx_bytes");
+ }
+ }
+
+ public override long IncomingPacketsDiscarded {
+ get {
+ return Read ("statistics/rx_dropped");
+ }
+ }
+
+ public override long IncomingPacketsWithErrors {
+ get {
+ return Read ("statistics/rx_errors");
+ }
+ }
+
+ public override long IncomingUnknownProtocolPackets {
+ get {
+ // TODO
+ return 0;
+ }
+ }
+
+ public override long NonUnicastPacketsReceived {
+ get {
+ // We cant distinguish these
+ return Read ("statistics/multicast");
+ }
+ }
+
+ public override long NonUnicastPacketsSent {
+ get {
+ // We cant distinguish these
+ return Read ("statistics/multicast");
+ }
+ }
+
+ public override long OutgoingPacketsDiscarded {
+ get {
+ return Read ("statistics/tx_dropped");
+ }
+ }
+
+ public override long OutgoingPacketsWithErrors {
+ get {
+ return Read ("statistics/tx_errors");
+ }
+ }
+
+ public override long OutputQueueLength {
+ get {
+ return 1024;
+ }
+ }
+
+ public override long UnicastPacketsReceived {
+ get {
+ return Read ("statistics/rx_packets");
+ }
+ }
+
+ public override long UnicastPacketsSent {
+ get {
+ return Read ("statistics/tx_packets");
+ }
+ }
+ }
+
+ // dummy class
+ class MacOsIPv4InterfaceStatistics : IPv4InterfaceStatistics
+ {
+ //MacOsNetworkInterface macos;
+
+ public MacOsIPv4InterfaceStatistics (MacOsNetworkInterface parent)
+ {
+ //macos = parent;
+ }
+
+ public override long BytesReceived {
+ get { return 0; }
+ }
+
+ public override long BytesSent {
+ get { return 0; }
+ }
+
+ public override long IncomingPacketsDiscarded {
+ get { return 0; }
+ }
+
+ public override long IncomingPacketsWithErrors {
+ get { return 0; }
+ }
+
+ public override long IncomingUnknownProtocolPackets {
+ get { return 0; }
+ }
+
+ public override long NonUnicastPacketsReceived {
+ get { return 0; }
+ }
+
+ public override long NonUnicastPacketsSent {
+ get { return 0; }
+ }
+
+ public override long OutgoingPacketsDiscarded {
+ get { return 0; }
+ }
+
+ public override long OutgoingPacketsWithErrors {
+ get { return 0; }
+ }
+
+ public override long OutputQueueLength {
+ get { return 0; }
+ }
+
+ public override long UnicastPacketsReceived {
+ get { return 0; }
+ }
+
+ public override long UnicastPacketsSent {
+ get { return 0; }
+ }