最近在做socket通信中用到了关于序列化工具选型的问题,在调研过程中开始趋向于用protobuf,可以省去了编解码的过程。能够实现快速开发,且只需要维护一份协议文件即可。
但是调研过程中发现了protobuf的一些弊端,比如需要生成相应的文件类,和业务绑定太紧密,所以在看了AVRO之后发现它完美解决了这个问题。
下面记录下对这两种序列化工具的入门与测评。
一、protobuf基本操作
protobuf简介:
Protocol Buffers (a.k.a., protobuf) are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data.
protobuf是google提供的一种跨语言、跨平台、可扩展的序列化工具。
1.1定义协议文件(部分字段)(TCPLog.proto):
syntax = "proto2"; message TCPLog{ optional int32 total_byteps = 1; optional int64 flow_start_time =2; optional int64 date =3; }
1.2生成对应的Java类:
生成过程可以使用ecplise 的插件 或者 直接在控制台中使用命令生成。
命令行中生成规则如下:
protoc.exe -I=proto的输入目录 --java_out=java类输出目录 proto的输入目录包括包括proto文件
生成java类如下:
// Generated by the protocol buffer compiler. DO NOT EDIT! // source: TCPLog.proto public final class TCPLogOuterClass { private TCPLogOuterClass() {} public static void registerAllExtensions( com.google.protobuf.ExtensionRegistryLite registry) { } public static void registerAllExtensions( com.google.protobuf.ExtensionRegistry registry) { registerAllExtensions( (com.google.protobuf.ExtensionRegistryLite) registry); } public interface TCPLogOrBuilder extends // @@protoc_insertion_point(interface_extends:TCPLog) com.google.protobuf.MessageOrBuilder { /** * <code>optional int32 total_byteps = 1;</code> */ boolean hasTotalByteps(); /** * <code>optional int32 total_byteps = 1;</code> */ int getTotalByteps(); /** * <code>optional int64 flow_start_time = 2;</code> */ boolean hasFlowStartTime(); /** * <code>optional int64 flow_start_time = 2;</code> */ long getFlowStartTime(); /** * <code>optional int64 date = 3;</code> */ boolean hasDate(); /** * <code>optional int64 date = 3;</code> */ long getDate(); /** * <code>optional int64 server_total_packet = 4;</code> */ boolean hasServerTotalPacket(); /** * <code>optional int64 server_total_packet = 4;</code> */ long getServerTotalPacket(); /** * <code>optional int64 client_total_byte = 5;</code> */ boolean hasClientTotalByte(); /** * <code>optional int64 client_total_byte = 5;</code> */ long getClientTotalByte(); /** * <code>optional int32 link_id = 6;</code> */ boolean hasLinkId(); /** * <code>optional int32 link_id = 6;</code> */ int getLinkId(); /** * <code>optional int64 total_byte = 7;</code> */ boolean hasTotalByte(); /** * <code>optional int64 total_byte = 7;</code> */ long getTotalByte(); /** * <code>optional int64 flow_end_time = 8;</code> */ boolean hasFlowEndTime(); /** * <code>optional int64 flow_end_time = 8;</code> */ long getFlowEndTime(); /** * <code>optional int32 client_port = 9;</code> */ boolean hasClientPort(); /** * <code>optional int32 client_port = 9;</code> */ int getClientPort(); /** * <code>optional int32 protocol = 10;</code> */ boolean hasProtocol(); /** * <code>optional int32 protocol = 10;</code> */ int getProtocol(); /** * <code>optional int64 total_packet = 11;</code> */ boolean hasTotalPacket(); /** * <code>optional int64 total_packet = 11;</code> */ long getTotalPacket(); /** * <code>optional int64 flow_duration = 12;</code> */ boolean hasFlowDuration(); /** * <code>optional int64 flow_duration = 12;</code> */ long getFlowDuration(); /** * <code>optional string id = 13;</code> */ boolean hasId(); /** * <code>optional string id = 13;</code> */ java.lang.String getId(); /** * <code>optional string id = 13;</code> */ com.google.protobuf.ByteString getIdBytes(); /** * <code>optional string server_ip_addr = 14;</code> */ boolean hasServerIpAddr(); /** * <code>optional string server_ip_addr = 14;</code> */ java.lang.String getServerIpAddr(); /** * <code>optional string server_ip_addr = 14;</code> */ com.google.protobuf.ByteString getServerIpAddrBytes(); /** * <code>optional string direction_mask = 15;</code> */ boolean hasDirectionMask(); /** * <code>optional string direction_mask = 15;</code> */ java.lang.String getDirectionMask(); /** * <code>optional string direction_mask = 15;</code> */ com.google.protobuf.ByteString getDirectionMaskBytes(); /** * <code>optional int32 app = 16;</code> */ boolean hasApp(); /** * <code>optional int32 app = 16;</code> */ int getApp(); /** * <code>optional int32 client_country_id = 17;</code> */ boolean hasClientCountryId(); /** * <code>optional int32 client_country_id = 17;</code> */ int getClientCountryId(); /** * <code>optional int32 client_netsegment_id = 18;</code> */ boolean hasClientNetsegmentId(); /** * <code>optional int32 client_netsegment_id = 18;</code> */ int getClientNetsegmentId(); /** * <code>optional int64 client_total_packet = 19;</code> */ boolean hasClientTotalPacket(); /** * <code>optional int64 client_total_packet = 19;</code> */ long getClientTotalPacket(); /** * <code>optional string client_ip_addr = 20;</code> */ boolean hasClientIpAddr(); /** * <code>optional string client_ip_addr = 20;</code> */ java.lang.String getClientIpAddr(); /** * <code>optional string client_ip_addr = 20;</code> */ com.google.protobuf.ByteString getClientIpAddrBytes(); /** * <code>optional int32 tcp_status = 21;</code> */ boolean hasTcpStatus(); /** * <code>optional int32 tcp_status = 21;</code> */ int getTcpStatus(); /** * <code>optional int32 server_country_id = 22;</code> */ boolean hasServerCountryId(); /** * <code>optional int32 server_country_id = 22;</code> */ int getServerCountryId(); /** * <code>optional int32 server_netsegment_id = 23;</code> */ boolean hasServerNetsegmentId(); /** * <code>optional int32 server_netsegment_id = 23;</code> */ int getServerNetsegmentId(); /** * <code>optional int64 avg_pkt_size = 24;</code> */ boolean hasAvgPktSize(); /** * <code>optional int64 avg_pkt_size = 24;</code> */ long getAvgPktSize(); /** * <code>optional int32 server_port = 25;</code> */ boolean hasServerPort(); /** * <code>optional int32 server_port = 25;</code> */ int getServerPort(); /** * <code>optional int64 server_total_byte = 26;</code> */ boolean hasServerTotalByte(); /** * <code>optional int64 server_total_byte = 26;</code> */ long getServerTotalByte(); /** * <code>optional int32 total_packetps = 27;</code> */ boolean hasTotalPacketps(); /** * <code>optional int32 total_packetps = 27;</code> */ int getTotalPacketps(); } /** * Protobuf type {@code TCPLog} */ public static final class TCPLog extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:TCPLog) TCPLogOrBuilder { // Use TCPLog.newBuilder() to construct. private TCPLog(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { super(builder); } private TCPLog() { totalByteps_ = 0; flowStartTime_ = 0L; date_ = 0L; serverTotalPacket_ = 0L; clientTotalByte_ = 0L; linkId_ = 0; totalByte_ = 0L; flowEndTime_ = 0L; clientPort_ = 0; protocol_ = 0; totalPacket_ = 0L; flowDuration_ = 0L; id_ = ""; serverIpAddr_ = ""; directionMask_ = ""; app_ = 0; clientCountryId_ = 0; clientNetsegmentId_ = 0; clientTotalPacket_ = 0L; clientIpAddr_ = ""; tcpStatus_ = 0; serverCountryId_ = 0; serverNetsegmentId_ = 0; avgPktSize_ = 0L; serverPort_ = 0; serverTotalByte_ = 0L; totalPacketps_ = 0; } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private TCPLog( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; default: { if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { done = true; } break; } case 8: { bitField0_ |= 0x00000001; totalByteps_ = input.readInt32(); break; } case 16: { bitField0_ |= 0x00000002; flowStartTime_ = input.readInt64(); break; } case 24: { bitField0_ |= 0x00000004; date_ = input.readInt64(); break; } case 32: { bitField0_ |= 0x00000008; serverTotalPacket_ = input.readInt64(); break; } case 40: { bitField0_ |= 0x00000010; clientTotalByte_ = input.readInt64(); break; } case 48: { bitField0_ |= 0x00000020; linkId_ = input.readInt32(); break; } case 56: { bitField0_ |= 0x00000040; totalByte_ = input.readInt64(); break; } case 64: { bitField0_ |= 0x00000080; flowEndTime_ = input.readInt64(); break; } case 72: { bitField0_ |= 0x00000100; clientPort_ = input.readInt32(); break; } case 80: { bitField0_ |= 0x00000200; protocol_ = input.readInt32(); break; } case 88: { bitField0_ |= 0x00000400; totalPacket_ = input.readInt64(); break; } case 96: { bitField0_ |= 0x00000800; flowDuration_ = input.readInt64(); break; } case 106: { com.google.protobuf.ByteString bs = input.readBytes(); bitField0_ |= 0x00001000; id_ = bs; break; } case 114: { com.google.protobuf.ByteString bs = input.readBytes(); bitField0_ |= 0x00002000; serverIpAddr_ = bs; break; } case 122: { com.google.protobuf.ByteString bs = input.readBytes(); bitField0_ |= 0x00004000; directionMask_ = bs; break; } case 128: { bitField0_ |= 0x00008000; app_ = input.readInt32(); break; } case 136: { bitField0_ |= 0x00010000; clientCountryId_ = input.readInt32(); break; } case 144: { bitField0_ |= 0x00020000; clientNetsegmentId_ = input.readInt32(); break; } case 152: { bitField0_ |= 0x00040000; clientTotalPacket_ = input.readInt64(); break; } case 162: { com.google.protobuf.ByteString bs = input.readBytes(); bitField0_ |= 0x00080000; clientIpAddr_ = bs; break; } case 168: { bitField0_ |= 0x00100000; tcpStatus_ = input.readInt32(); break; } case 176: { bitField0_ |= 0x00200000; serverCountryId_ = input.readInt32(); break; } case 184: { bitField0_ |= 0x00400000; serverNetsegmentId_ = input.readInt32(); break; } case 192: { bitField0_ |= 0x00800000; avgPktSize_ = input.readInt64(); break; } case 200: { bitField0_ |= 0x01000000; serverPort_ = input.readInt32(); break; } case 208: { bitField0_ |= 0x02000000; serverTotalByte_ = input.readInt64(); break; } case 216: { bitField0_ |= 0x04000000; totalPacketps_ = input.readInt32(); break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return TCPLogOuterClass.internal_static_TCPLog_descriptor; } protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return TCPLogOuterClass.internal_static_TCPLog_fieldAccessorTable .ensureFieldAccessorsInitialized( TCPLogOuterClass.TCPLog.class, TCPLogOuterClass.TCPLog.Builder.class); } private int bitField0_; public static final int TOTAL_BYTEPS_FIELD_NUMBER = 1; private int totalByteps_; /** * <code>optional int32 total_byteps = 1;</code> */ public boolean hasTotalByteps() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** * <code>optional int32 total_byteps = 1;</code> */ public int getTotalByteps() { return totalByteps_; } public static final int FLOW_START_TIME_FIELD_NUMBER = 2; private long flowStartTime_; /** * <code>optional int64 flow_start_time = 2;</code> */ public boolean hasFlowStartTime() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** * <code>optional int64 flow_start_time = 2;</code> */ public long getFlowStartTime() { return flowStartTime_; } public static final int DATE_FIELD_NUMBER = 3; private long date_; /** * <code>optional int64 date = 3;</code> */ public boolean hasDate() { return ((bitField0_ & 0x00000004) == 0x00000004); } /** * <code>optional int64 date = 3;</code> */ public long getDate() { return date_; } public static final int SERVER_TOTAL_PACKET_FIELD_NUMBER = 4; private long serverTotalPacket_; /** * <code>optional int64 server_total_packet = 4;</code> */ public boolean hasServerTotalPacket() { return ((bitField0_ & 0x00000008) == 0x00000008); } /** * <code>optional int64 server_total_packet = 4;</code> */ public long getServerTotalPacket() { return serverTotalPacket_; } public static final int CLIENT_TOTAL_BYTE_FIELD_NUMBER = 5; private long clientTotalByte_; /** * <code>optional int64 client_total_byte = 5;</code> */ public boolean hasClientTotalByte() { return ((bitField0_ & 0x00000010) == 0x00000010); } /** * <code>optional int64 client_total_byte = 5;</code> */ public long getClientTotalByte() { return clientTotalByte_; } public static final int LINK_ID_FIELD_NUMBER = 6; private int linkId_; /** * <code>optional int32 link_id = 6;</code> */ public boolean hasLinkId() { return ((bitField0_ & 0x00000020) == 0x00000020); } /** * <code>optional int32 link_id = 6;</code> */ public int getLinkId() { return linkId_; } public static final int TOTAL_BYTE_FIELD_NUMBER = 7; private long totalByte_; /** * <code>optional int64 total_byte = 7;</code> */ public boolean hasTotalByte() { return ((bitField0_ & 0x00000040) == 0x00000040); } /** * <code>optional int64 total_byte = 7;</code> */ public long getTotalByte() { return totalByte_; } public static final int FLOW_END_TIME_FIELD_NUMBER = 8; private long flowEndTime_; /** * <code>optional int64 flow_end_time = 8;</code> */ public boolean hasFlowEndTime() { return ((bitField0_ & 0x00000080) == 0x00000080); } /** * <code>optional int64 flow_end_time = 8;</code> */ public long getFlowEndTime() { return flowEndTime_; } public static final int CLIENT_PORT_FIELD_NUMBER = 9; private int clientPort_; /** * <code>optional int32 client_port = 9;</code> */ public boolean hasClientPort() { return ((bitField0_ & 0x00000100) == 0x00000100); } /** * <code>optional int32 client_port = 9;</code> */ public int getClientPort() { return clientPort_; } public static final int PROTOCOL_FIELD_NUMBER = 10; private int protocol_; /** * <code>optional int32 protocol = 10;</code> */ public boolean hasProtocol() { return ((bitField0_ & 0x00000200) == 0x00000200); } /** * <code>optional int32 protocol = 10;</code> */ public int getProtocol() { return protocol_; } public static final int TOTAL_PACKET_FIELD_NUMBER = 11; private long totalPacket_; /** * <code>optional int64 total_packet = 11;</code> */ public boolean hasTotalPacket() { return ((bitField0_ & 0x00000400) == 0x00000400); } /** * <code>optional int64 total_packet = 11;</code> */ public long getTotalPacket() { return totalPacket_; } public static final int FLOW_DURATION_FIELD_NUMBER = 12; private long flowDuration_; /** * <code>optional int64 flow_duration = 12;</code> */ public boolean hasFlowDuration() { return ((bitField0_ & 0x00000800) == 0x00000800); } /** * <code>optional int64 flow_duration = 12;</code> */ public long getFlowDuration() { return flowDuration_; } public static final int ID_FIELD_NUMBER = 13; private volatile java.lang.Object id_; /** * <code>optional string id = 13;</code> */ public boolean hasId() { return ((bitField0_ & 0x00001000) == 0x00001000); } /** * <code>optional string id = 13;</code> */ public java.lang.String getId() { java.lang.Object ref = id_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); if (bs.isValidUtf8()) { id_ = s; } return s; } } /** * <code>optional string id = 13;</code> */ public com.google.protobuf.ByteString getIdBytes() { java.lang.Object ref = id_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); id_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int SERVER_IP_ADDR_FIELD_NUMBER = 14; private volatile java.lang.Object serverIpAddr_; /** * <code>optional string server_ip_addr = 14;</code> */ public boolean hasServerIpAddr() { return ((bitField0_ & 0x00002000) == 0x00002000); } /** * <code>optional string server_ip_addr = 14;</code> */ public java.lang.String getServerIpAddr() { java.lang.Object ref = serverIpAddr_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); if (bs.isValidUtf8()) { serverIpAddr_ = s; } return s; } } /** * <code>optional string server_ip_addr = 14;</code> */ public com.google.protobuf.ByteString getServerIpAddrBytes() { java.lang.Object ref = serverIpAddr_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); serverIpAddr_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int DIRECTION_MASK_FIELD_NUMBER = 15; private volatile java.lang.Object directionMask_; /** * <code>optional string direction_mask = 15;</code> */ public boolean hasDirectionMask() { return ((bitField0_ & 0x00004000) == 0x00004000); } /** * <code>optional string direction_mask = 15;</code> */ public java.lang.String getDirectionMask() { java.lang.Object ref = directionMask_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); if (bs.isValidUtf8()) { directionMask_ = s; } return s; } } /** * <code>optional string direction_mask = 15;</code> */ public com.google.protobuf.ByteString getDirectionMaskBytes() { java.lang.Object ref = directionMask_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); directionMask_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int APP_FIELD_NUMBER = 16; private int app_; /** * <code>optional int32 app = 16;</code> */ public boolean hasApp() { return ((bitField0_ & 0x00008000) == 0x00008000); } /** * <code>optional int32 app = 16;</code> */ public int getApp() { return app_; } public static final int CLIENT_COUNTRY_ID_FIELD_NUMBER = 17; private int clientCountryId_; /** * <code>optional int32 client_country_id = 17;</code> */ public boolean hasClientCountryId() { return ((bitField0_ & 0x00010000) == 0x00010000); } /** * <code>optional int32 client_country_id = 17;</code> */ public int getClientCountryId() { return clientCountryId_; } public static final int CLIENT_NETSEGMENT_ID_FIELD_NUMBER = 18; private int clientNetsegmentId_; /** * <code>optional int32 client_netsegment_id = 18;</code> */ public boolean hasClientNetsegmentId() { return ((bitField0_ & 0x00020000) == 0x00020000); } /** * <code>optional int32 client_netsegment_id = 18;</code> */ public int getClientNetsegmentId() { return clientNetsegmentId_; } public static final int CLIENT_TOTAL_PACKET_FIELD_NUMBER = 19; private long clientTotalPacket_; /** * <code>optional int64 client_total_packet = 19;</code> */ public boolean hasClientTotalPacket() { return ((bitField0_ & 0x00040000) == 0x00040000); } /** * <code>optional int64 client_total_packet = 19;</code> */ public long getClientTotalPacket() { return clientTotalPacket_; } public static final int CLIENT_IP_ADDR_FIELD_NUMBER = 20; private volatile java.lang.Object clientIpAddr_; /** * <code>optional string client_ip_addr = 20;</code> */ public boolean hasClientIpAddr() { return ((bitField0_ & 0x00080000) == 0x00080000); } /** * <code>optional string client_ip_addr = 20;</code> */ public java.lang.String getClientIpAddr() { java.lang.Object ref = clientIpAddr_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); if (bs.isValidUtf8()) { clientIpAddr_ = s; } return s; } } /** * <code>optional string client_ip_addr = 20;</code> */ public com.google.protobuf.ByteString getClientIpAddrBytes() { java.lang.Object ref = clientIpAddr_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); clientIpAddr_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int TCP_STATUS_FIELD_NUMBER = 21; private int tcpStatus_; /** * <code>optional int32 tcp_status = 21;</code> */ public boolean hasTcpStatus() { return ((bitField0_ & 0x00100000) == 0x00100000); } /** * <code>optional int32 tcp_status = 21;</code> */ public int getTcpStatus() { return tcpStatus_; } public static final int SERVER_COUNTRY_ID_FIELD_NUMBER = 22; private int serverCountryId_; /** * <code>optional int32 server_country_id = 22;</code> */ public boolean hasServerCountryId() { return ((bitField0_ & 0x00200000) == 0x00200000); } /** * <code>optional int32 server_country_id = 22;</code> */ public int getServerCountryId() { return serverCountryId_; } public static final int SERVER_NETSEGMENT_ID_FIELD_NUMBER = 23; private int serverNetsegmentId_; /** * <code>optional int32 server_netsegment_id = 23;</code> */ public boolean hasServerNetsegmentId() { return ((bitField0_ & 0x00400000) == 0x00400000); } /** * <code>optional int32 server_netsegment_id = 23;</code> */ public int getServerNetsegmentId() { return serverNetsegmentId_; } public static final int AVG_PKT_SIZE_FIELD_NUMBER = 24; private long avgPktSize_; /** * <code>optional int64 avg_pkt_size = 24;</code> */ public boolean hasAvgPktSize() { return ((bitField0_ & 0x00800000) == 0x00800000); } /** * <code>optional int64 avg_pkt_size = 24;</code> */ public long getAvgPktSize() { return avgPktSize_; } public static final int SERVER_PORT_FIELD_NUMBER = 25; private int serverPort_; /** * <code>optional int32 server_port = 25;</code> */ public boolean hasServerPort() { return ((bitField0_ & 0x01000000) == 0x01000000); } /** * <code>optional int32 server_port = 25;</code> */ public int getServerPort() { return serverPort_; } public static final int SERVER_TOTAL_BYTE_FIELD_NUMBER = 26; private long serverTotalByte_; /** * <code>optional int64 server_total_byte = 26;</code> */ public boolean hasServerTotalByte() { return ((bitField0_ & 0x02000000) == 0x02000000); } /** * <code>optional int64 server_total_byte = 26;</code> */ public long getServerTotalByte() { return serverTotalByte_; } public static final int TOTAL_PACKETPS_FIELD_NUMBER = 27; private int totalPacketps_; /** * <code>optional int32 total_packetps = 27;</code> */ public boolean hasTotalPacketps() { return ((bitField0_ & 0x04000000) == 0x04000000); } /** * <code>optional int32 total_packetps = 27;</code> */ public int getTotalPacketps() { return totalPacketps_; } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000001) == 0x00000001)) { output.writeInt32(1, totalByteps_); } if (((bitField0_ & 0x00000002) == 0x00000002)) { output.writeInt64(2, flowStartTime_); } if (((bitField0_ & 0x00000004) == 0x00000004)) { output.writeInt64(3, date_); } if (((bitField0_ & 0x00000008) == 0x00000008)) { output.writeInt64(4, serverTotalPacket_); } if (((bitField0_ & 0x00000010) == 0x00000010)) { output.writeInt64(5, clientTotalByte_); } if (((bitField0_ & 0x00000020) == 0x00000020)) { output.writeInt32(6, linkId_); } if (((bitField0_ & 0x00000040) == 0x00000040)) { output.writeInt64(7, totalByte_); } if (((bitField0_ & 0x00000080) == 0x00000080)) { output.writeInt64(8, flowEndTime_); } if (((bitField0_ & 0x00000100) == 0x00000100)) { output.writeInt32(9, clientPort_); } if (((bitField0_ & 0x00000200) == 0x00000200)) { output.writeInt32(10, protocol_); } if (((bitField0_ & 0x00000400) == 0x00000400)) { output.writeInt64(11, totalPacket_); } if (((bitField0_ & 0x00000800) == 0x00000800)) { output.writeInt64(12, flowDuration_); } if (((bitField0_ & 0x00001000) == 0x00001000)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 13, id_); } if (((bitField0_ & 0x00002000) == 0x00002000)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 14, serverIpAddr_); } if (((bitField0_ & 0x00004000) == 0x00004000)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 15, directionMask_); } if (((bitField0_ & 0x00008000) == 0x00008000)) { output.writeInt32(16, app_); } if (((bitField0_ & 0x00010000) == 0x00010000)) { output.writeInt32(17, clientCountryId_); } if (((bitField0_ & 0x00020000) == 0x00020000)) { output.writeInt32(18, clientNetsegmentId_); } if (((bitField0_ & 0x00040000) == 0x00040000)) { output.writeInt64(19, clientTotalPacket_); } if (((bitField0_ & 0x00080000) == 0x00080000)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 20, clientIpAddr_); } if (((bitField0_ & 0x00100000) == 0x00100000)) { output.writeInt32(21, tcpStatus_); } if (((bitField0_ & 0x00200000) == 0x00200000)) { output.writeInt32(22, serverCountryId_); } if (((bitField0_ & 0x00400000) == 0x00400000)) { output.writeInt32(23, serverNetsegmentId_); } if (((bitField0_ & 0x00800000) == 0x00800000)) { output.writeInt64(24, avgPktSize_); } if (((bitField0_ & 0x01000000) == 0x01000000)) { output.writeInt32(25, serverPort_); } if (((bitField0_ & 0x02000000) == 0x02000000)) { output.writeInt64(26, serverTotalByte_); } if (((bitField0_ & 0x04000000) == 0x04000000)) { output.writeInt32(27, totalPacketps_); } unknownFields.writeTo(output); } public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (((bitField0_ & 0x00000001) == 0x00000001)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(1, totalByteps_); } if (((bitField0_ & 0x00000002) == 0x00000002)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(2, flowStartTime_); } if (((bitField0_ & 0x00000004) == 0x00000004)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(3, date_); } if (((bitField0_ & 0x00000008) == 0x00000008)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(4, serverTotalPacket_); } if (((bitField0_ & 0x00000010) == 0x00000010)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(5, clientTotalByte_); } if (((bitField0_ & 0x00000020) == 0x00000020)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(6, linkId_); } if (((bitField0_ & 0x00000040) == 0x00000040)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(7, totalByte_); } if (((bitField0_ & 0x00000080) == 0x00000080)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(8, flowEndTime_); } if (((bitField0_ & 0x00000100) == 0x00000100)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(9, clientPort_); } if (((bitField0_ & 0x00000200) == 0x00000200)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(10, protocol_); } if (((bitField0_ & 0x00000400) == 0x00000400)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(11, totalPacket_); } if (((bitField0_ & 0x00000800) == 0x00000800)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(12, flowDuration_); } if (((bitField0_ & 0x00001000) == 0x00001000)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(13, id_); } if (((bitField0_ & 0x00002000) == 0x00002000)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(14, serverIpAddr_); } if (((bitField0_ & 0x00004000) == 0x00004000)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(15, directionMask_); } if (((bitField0_ & 0x00008000) == 0x00008000)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(16, app_); } if (((bitField0_ & 0x00010000) == 0x00010000)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(17, clientCountryId_); } if (((bitField0_ & 0x00020000) == 0x00020000)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(18, clientNetsegmentId_); } if (((bitField0_ & 0x00040000) == 0x00040000)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(19, clientTotalPacket_); } if (((bitField0_ & 0x00080000) == 0x00080000)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(20, clientIpAddr_); } if (((bitField0_ & 0x00100000) == 0x00100000)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(21, tcpStatus_); } if (((bitField0_ & 0x00200000) == 0x00200000)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(22, serverCountryId_); } if (((bitField0_ & 0x00400000) == 0x00400000)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(23, serverNetsegmentId_); } if (((bitField0_ & 0x00800000) == 0x00800000)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(24, avgPktSize_); } if (((bitField0_ & 0x01000000) == 0x01000000)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(25, serverPort_); } if (((bitField0_ & 0x02000000) == 0x02000000)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(26, serverTotalByte_); } if (((bitField0_ & 0x04000000) == 0x04000000)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(27, totalPacketps_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } private static final long serialVersionUID = 0L; @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof TCPLogOuterClass.TCPLog)) { return super.equals(obj); } TCPLogOuterClass.TCPLog other = (TCPLogOuterClass.TCPLog) obj; boolean result = true; result = result && (hasTotalByteps() == other.hasTotalByteps()); if (hasTotalByteps()) { result = result && (getTotalByteps() == other.getTotalByteps()); } result = result && (hasFlowStartTime() == other.hasFlowStartTime()); if (hasFlowStartTime()) { result = result && (getFlowStartTime() == other.getFlowStartTime()); } result = result && (hasDate() == other.hasDate()); if (hasDate()) { result = result && (getDate() == other.getDate()); } result = result && (hasServerTotalPacket() == other.hasServerTotalPacket()); if (hasServerTotalPacket()) { result = result && (getServerTotalPacket() == other.getServerTotalPacket()); } result = result && (hasClientTotalByte() == other.hasClientTotalByte()); if (hasClientTotalByte()) { result = result && (getClientTotalByte() == other.getClientTotalByte()); } result = result && (hasLinkId() == other.hasLinkId()); if (hasLinkId()) { result = result && (getLinkId() == other.getLinkId()); } result = result && (hasTotalByte() == other.hasTotalByte()); if (hasTotalByte()) { result = result && (getTotalByte() == other.getTotalByte()); } result = result && (hasFlowEndTime() == other.hasFlowEndTime()); if (hasFlowEndTime()) { result = result && (getFlowEndTime() == other.getFlowEndTime()); } result = result && (hasClientPort() == other.hasClientPort()); if (hasClientPort()) { result = result && (getClientPort() == other.getClientPort()); } result = result && (hasProtocol() == other.hasProtocol()); if (hasProtocol()) { result = result && (getProtocol() == other.getProtocol()); } result = result && (hasTotalPacket() == other.hasTotalPacket()); if (hasTotalPacket()) { result = result && (getTotalPacket() == other.getTotalPacket()); } result = result && (hasFlowDuration() == other.hasFlowDuration()); if (hasFlowDuration()) { result = result && (getFlowDuration() == other.getFlowDuration()); } result = result && (hasId() == other.hasId()); if (hasId()) { result = result && getId() .equals(other.getId()); } result = result && (hasServerIpAddr() == other.hasServerIpAddr()); if (hasServerIpAddr()) { result = result && getServerIpAddr() .equals(other.getServerIpAddr()); } result = result && (hasDirectionMask() == other.hasDirectionMask()); if (hasDirectionMask()) { result = result && getDirectionMask() .equals(other.getDirectionMask()); } result = result && (hasApp() == other.hasApp()); if (hasApp()) { result = result && (getApp() == other.getApp()); } result = result && (hasClientCountryId() == other.hasClientCountryId()); if (hasClientCountryId()) { result = result && (getClientCountryId() == other.getClientCountryId()); } result = result && (hasClientNetsegmentId() == other.hasClientNetsegmentId()); if (hasClientNetsegmentId()) { result = result && (getClientNetsegmentId() == other.getClientNetsegmentId()); } result = result && (hasClientTotalPacket() == other.hasClientTotalPacket()); if (hasClientTotalPacket()) { result = result && (getClientTotalPacket() == other.getClientTotalPacket()); } result = result && (hasClientIpAddr() == other.hasClientIpAddr()); if (hasClientIpAddr()) { result = result && getClientIpAddr() .equals(other.getClientIpAddr()); } result = result && (hasTcpStatus() == other.hasTcpStatus()); if (hasTcpStatus()) { result = result && (getTcpStatus() == other.getTcpStatus()); } result = result && (hasServerCountryId() == other.hasServerCountryId()); if (hasServerCountryId()) { result = result && (getServerCountryId() == other.getServerCountryId()); } result = result && (hasServerNetsegmentId() == other.hasServerNetsegmentId()); if (hasServerNetsegmentId()) { result = result && (getServerNetsegmentId() == other.getServerNetsegmentId()); } result = result && (hasAvgPktSize() == other.hasAvgPktSize()); if (hasAvgPktSize()) { result = result && (getAvgPktSize() == other.getAvgPktSize()); } result = result && (hasServerPort() == other.hasServerPort()); if (hasServerPort()) { result = result && (getServerPort() == other.getServerPort()); } result = result && (hasServerTotalByte() == other.hasServerTotalByte()); if (hasServerTotalByte()) { result = result && (getServerTotalByte() == other.getServerTotalByte()); } result = result && (hasTotalPacketps() == other.hasTotalPacketps()); if (hasTotalPacketps()) { result = result && (getTotalPacketps() == other.getTotalPacketps()); } result = result && unknownFields.equals(other.unknownFields); return result; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasTotalByteps()) { hash = (37 * hash) + TOTAL_BYTEPS_FIELD_NUMBER; hash = (53 * hash) + getTotalByteps(); } if (hasFlowStartTime()) { hash = (37 * hash) + FLOW_START_TIME_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getFlowStartTime()); } if (hasDate()) { hash = (37 * hash) + DATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getDate()); } if (hasServerTotalPacket()) { hash = (37 * hash) + SERVER_TOTAL_PACKET_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getServerTotalPacket()); } if (hasClientTotalByte()) { hash = (37 * hash) + CLIENT_TOTAL_BYTE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getClientTotalByte()); } if (hasLinkId()) { hash = (37 * hash) + LINK_ID_FIELD_NUMBER; hash = (53 * hash) + getLinkId(); } if (hasTotalByte()) { hash = (37 * hash) + TOTAL_BYTE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getTotalByte()); } if (hasFlowEndTime()) { hash = (37 * hash) + FLOW_END_TIME_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getFlowEndTime()); } if (hasClientPort()) { hash = (37 * hash) + CLIENT_PORT_FIELD_NUMBER; hash = (53 * hash) + getClientPort(); } if (hasProtocol()) { hash = (37 * hash) + PROTOCOL_FIELD_NUMBER; hash = (53 * hash) + getProtocol(); } if (hasTotalPacket()) { hash = (37 * hash) + TOTAL_PACKET_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getTotalPacket()); } if (hasFlowDuration()) { hash = (37 * hash) + FLOW_DURATION_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getFlowDuration()); } if (hasId()) { hash = (37 * hash) + ID_FIELD_NUMBER; hash = (53 * hash) + getId().hashCode(); } if (hasServerIpAddr()) { hash = (37 * hash) + SERVER_IP_ADDR_FIELD_NUMBER; hash = (53 * hash) + getServerIpAddr().hashCode(); } if (hasDirectionMask()) { hash = (37 * hash) + DIRECTION_MASK_FIELD_NUMBER; hash = (53 * hash) + getDirectionMask().hashCode(); } if (hasApp()) { hash = (37 * hash) + APP_FIELD_NUMBER; hash = (53 * hash) + getApp(); } if (hasClientCountryId()) { hash = (37 * hash) + CLIENT_COUNTRY_ID_FIELD_NUMBER; hash = (53 * hash) + getClientCountryId(); } if (hasClientNetsegmentId()) { hash = (37 * hash) + CLIENT_NETSEGMENT_ID_FIELD_NUMBER; hash = (53 * hash) + getClientNetsegmentId(); } if (hasClientTotalPacket()) { hash = (37 * hash) + CLIENT_TOTAL_PACKET_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getClientTotalPacket()); } if (hasClientIpAddr()) { hash = (37 * hash) + CLIENT_IP_ADDR_FIELD_NUMBER; hash = (53 * hash) + getClientIpAddr().hashCode(); } if (hasTcpStatus()) { hash = (37 * hash) + TCP_STATUS_FIELD_NUMBER; hash = (53 * hash) + getTcpStatus(); } if (hasServerCountryId()) { hash = (37 * hash) + SERVER_COUNTRY_ID_FIELD_NUMBER; hash = (53 * hash) + getServerCountryId(); } if (hasServerNetsegmentId()) { hash = (37 * hash) + SERVER_NETSEGMENT_ID_FIELD_NUMBER; hash = (53 * hash) + getServerNetsegmentId(); } if (hasAvgPktSize()) { hash = (37 * hash) + AVG_PKT_SIZE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getAvgPktSize()); } if (hasServerPort()) { hash = (37 * hash) + SERVER_PORT_FIELD_NUMBER; hash = (53 * hash) + getServerPort(); } if (hasServerTotalByte()) { hash = (37 * hash) + SERVER_TOTAL_BYTE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getServerTotalByte()); } if (hasTotalPacketps()) { hash = (37 * hash) + TOTAL_PACKETPS_FIELD_NUMBER; hash = (53 * hash) + getTotalPacketps(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static TCPLogOuterClass.TCPLog parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static TCPLogOuterClass.TCPLog parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static TCPLogOuterClass.TCPLog parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static TCPLogOuterClass.TCPLog parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static TCPLogOuterClass.TCPLog parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static TCPLogOuterClass.TCPLog parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static TCPLogOuterClass.TCPLog parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static TCPLogOuterClass.TCPLog parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static TCPLogOuterClass.TCPLog parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static TCPLogOuterClass.TCPLog parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static TCPLogOuterClass.TCPLog parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static TCPLogOuterClass.TCPLog parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(TCPLogOuterClass.TCPLog prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** * Protobuf type {@code TCPLog} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements // @@protoc_insertion_point(builder_implements:TCPLog) TCPLogOuterClass.TCPLogOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return TCPLogOuterClass.internal_static_TCPLog_descriptor; } protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return TCPLogOuterClass.internal_static_TCPLog_fieldAccessorTable .ensureFieldAccessorsInitialized( TCPLogOuterClass.TCPLog.class, TCPLogOuterClass.TCPLog.Builder.class); } // Construct using TCPLogOuterClass.TCPLog.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } public Builder clear() { super.clear(); totalByteps_ = 0; bitField0_ = (bitField0_ & ~0x00000001); flowStartTime_ = 0L; bitField0_ = (bitField0_ & ~0x00000002); date_ = 0L; bitField0_ = (bitField0_ & ~0x00000004); serverTotalPacket_ = 0L; bitField0_ = (bitField0_ & ~0x00000008); clientTotalByte_ = 0L; bitField0_ = (bitField0_ & ~0x00000010); linkId_ = 0; bitField0_ = (bitField0_ & ~0x00000020); totalByte_ = 0L; bitField0_ = (bitField0_ & ~0x00000040); flowEndTime_ = 0L; bitField0_ = (bitField0_ & ~0x00000080); clientPort_ = 0; bitField0_ = (bitField0_ & ~0x00000100); protocol_ = 0; bitField0_ = (bitField0_ & ~0x00000200); totalPacket_ = 0L; bitField0_ = (bitField0_ & ~0x00000400); flowDuration_ = 0L; bitField0_ = (bitField0_ & ~0x00000800); id_ = ""; bitField0_ = (bitField0_ & ~0x00001000); serverIpAddr_ = ""; bitField0_ = (bitField0_ & ~0x00002000); directionMask_ = ""; bitField0_ = (bitField0_ & ~0x00004000); app_ = 0; bitField0_ = (bitField0_ & ~0x00008000); clientCountryId_ = 0; bitField0_ = (bitField0_ & ~0x00010000); clientNetsegmentId_ = 0; bitField0_ = (bitField0_ & ~0x00020000); clientTotalPacket_ = 0L; bitField0_ = (bitField0_ & ~0x00040000); clientIpAddr_ = ""; bitField0_ = (bitField0_ & ~0x00080000); tcpStatus_ = 0; bitField0_ = (bitField0_ & ~0x00100000); serverCountryId_ = 0; bitField0_ = (bitField0_ & ~0x00200000); serverNetsegmentId_ = 0; bitField0_ = (bitField0_ & ~0x00400000); avgPktSize_ = 0L; bitField0_ = (bitField0_ & ~0x00800000); serverPort_ = 0; bitField0_ = (bitField0_ & ~0x01000000); serverTotalByte_ = 0L; bitField0_ = (bitField0_ & ~0x02000000); totalPacketps_ = 0; bitField0_ = (bitField0_ & ~0x04000000); return this; } public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return TCPLogOuterClass.internal_static_TCPLog_descriptor; } public TCPLogOuterClass.TCPLog getDefaultInstanceForType() { return TCPLogOuterClass.TCPLog.getDefaultInstance(); } public TCPLogOuterClass.TCPLog build() { TCPLogOuterClass.TCPLog result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } public TCPLogOuterClass.TCPLog buildPartial() { TCPLogOuterClass.TCPLog result = new TCPLogOuterClass.TCPLog(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) == 0x00000001)) { to_bitField0_ |= 0x00000001; } result.totalByteps_ = totalByteps_; if (((from_bitField0_ & 0x00000002) == 0x00000002)) { to_bitField0_ |= 0x00000002; } result.flowStartTime_ = flowStartTime_; if (((from_bitField0_ & 0x00000004) == 0x00000004)) { to_bitField0_ |= 0x00000004; } result.date_ = date_; if (((from_bitField0_ & 0x00000008) == 0x00000008)) { to_bitField0_ |= 0x00000008; } result.serverTotalPacket_ = serverTotalPacket_; if (((from_bitField0_ & 0x00000010) == 0x00000010)) { to_bitField0_ |= 0x00000010; } result.clientTotalByte_ = clientTotalByte_; if (((from_bitField0_ & 0x00000020) == 0x00000020)) { to_bitField0_ |= 0x00000020; } result.linkId_ = linkId_; if (((from_bitField0_ & 0x00000040) == 0x00000040)) { to_bitField0_ |= 0x00000040; } result.totalByte_ = totalByte_; if (((from_bitField0_ & 0x00000080) == 0x00000080)) { to_bitField0_ |= 0x00000080; } result.flowEndTime_ = flowEndTime_; if (((from_bitField0_ & 0x00000100) == 0x00000100)) { to_bitField0_ |= 0x00000100; } result.clientPort_ = clientPort_; if (((from_bitField0_ & 0x00000200) == 0x00000200)) { to_bitField0_ |= 0x00000200; } result.protocol_ = protocol_; if (((from_bitField0_ & 0x00000400) == 0x00000400)) { to_bitField0_ |= 0x00000400; } result.totalPacket_ = totalPacket_; if (((from_bitField0_ & 0x00000800) == 0x00000800)) { to_bitField0_ |= 0x00000800; } result.flowDuration_ = flowDuration_; if (((from_bitField0_ & 0x00001000) == 0x00001000)) { to_bitField0_ |= 0x00001000; } result.id_ = id_; if (((from_bitField0_ & 0x00002000) == 0x00002000)) { to_bitField0_ |= 0x00002000; } result.serverIpAddr_ = serverIpAddr_; if (((from_bitField0_ & 0x00004000) == 0x00004000)) { to_bitField0_ |= 0x00004000; } result.directionMask_ = directionMask_; if (((from_bitField0_ & 0x00008000) == 0x00008000)) { to_bitField0_ |= 0x00008000; } result.app_ = app_; if (((from_bitField0_ & 0x00010000) == 0x00010000)) { to_bitField0_ |= 0x00010000; } result.clientCountryId_ = clientCountryId_; if (((from_bitField0_ & 0x00020000) == 0x00020000)) { to_bitField0_ |= 0x00020000; } result.clientNetsegmentId_ = clientNetsegmentId_; if (((from_bitField0_ & 0x00040000) == 0x00040000)) { to_bitField0_ |= 0x00040000; } result.clientTotalPacket_ = clientTotalPacket_; if (((from_bitField0_ & 0x00080000) == 0x00080000)) { to_bitField0_ |= 0x00080000; } result.clientIpAddr_ = clientIpAddr_; if (((from_bitField0_ & 0x00100000) == 0x00100000)) { to_bitField0_ |= 0x00100000; } result.tcpStatus_ = tcpStatus_; if (((from_bitField0_ & 0x00200000) == 0x00200000)) { to_bitField0_ |= 0x00200000; } result.serverCountryId_ = serverCountryId_; if (((from_bitField0_ & 0x00400000) == 0x00400000)) { to_bitField0_ |= 0x00400000; } result.serverNetsegmentId_ = serverNetsegmentId_; if (((from_bitField0_ & 0x00800000) == 0x00800000)) { to_bitField0_ |= 0x00800000; } result.avgPktSize_ = avgPktSize_; if (((from_bitField0_ & 0x01000000) == 0x01000000)) { to_bitField0_ |= 0x01000000; } result.serverPort_ = serverPort_; if (((from_bitField0_ & 0x02000000) == 0x02000000)) { to_bitField0_ |= 0x02000000; } result.serverTotalByte_ = serverTotalByte_; if (((from_bitField0_ & 0x04000000) == 0x04000000)) { to_bitField0_ |= 0x04000000; } result.totalPacketps_ = totalPacketps_; result.bitField0_ = to_bitField0_; onBuilt(); return result; } public Builder clone() { return (Builder) super.clone(); } public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, Object value) { return (Builder) super.setField(field, value); } public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return (Builder) super.clearField(field); } public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return (Builder) super.clearOneof(oneof); } public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value) { return (Builder) super.setRepeatedField(field, index, value); } public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, Object value) { return (Builder) super.addRepeatedField(field, value); } public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof TCPLogOuterClass.TCPLog) { return mergeFrom((TCPLogOuterClass.TCPLog)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(TCPLogOuterClass.TCPLog other) { if (other == TCPLogOuterClass.TCPLog.getDefaultInstance()) return this; if (other.hasTotalByteps()) { setTotalByteps(other.getTotalByteps()); } if (other.hasFlowStartTime()) { setFlowStartTime(other.getFlowStartTime()); } if (other.hasDate()) { setDate(other.getDate()); } if (other.hasServerTotalPacket()) { setServerTotalPacket(other.getServerTotalPacket()); } if (other.hasClientTotalByte()) { setClientTotalByte(other.getClientTotalByte()); } if (other.hasLinkId()) { setLinkId(other.getLinkId()); } if (other.hasTotalByte()) { setTotalByte(other.getTotalByte()); } if (other.hasFlowEndTime()) { setFlowEndTime(other.getFlowEndTime()); } if (other.hasClientPort()) { setClientPort(other.getClientPort()); } if (other.hasProtocol()) { setProtocol(other.getProtocol()); } if (other.hasTotalPacket()) { setTotalPacket(other.getTotalPacket()); } if (other.hasFlowDuration()) { setFlowDuration(other.getFlowDuration()); } if (other.hasId()) { bitField0_ |= 0x00001000; id_ = other.id_; onChanged(); } if (other.hasServerIpAddr()) { bitField0_ |= 0x00002000; serverIpAddr_ = other.serverIpAddr_; onChanged(); } if (other.hasDirectionMask()) { bitField0_ |= 0x00004000; directionMask_ = other.directionMask_; onChanged(); } if (other.hasApp()) { setApp(other.getApp()); } if (other.hasClientCountryId()) { setClientCountryId(other.getClientCountryId()); } if (other.hasClientNetsegmentId()) { setClientNetsegmentId(other.getClientNetsegmentId()); } if (other.hasClientTotalPacket()) { setClientTotalPacket(other.getClientTotalPacket()); } if (other.hasClientIpAddr()) { bitField0_ |= 0x00080000; clientIpAddr_ = other.clientIpAddr_; onChanged(); } if (other.hasTcpStatus()) { setTcpStatus(other.getTcpStatus()); } if (other.hasServerCountryId()) { setServerCountryId(other.getServerCountryId()); } if (other.hasServerNetsegmentId()) { setServerNetsegmentId(other.getServerNetsegmentId()); } if (other.hasAvgPktSize()) { setAvgPktSize(other.getAvgPktSize()); } if (other.hasServerPort()) { setServerPort(other.getServerPort()); } if (other.hasServerTotalByte()) { setServerTotalByte(other.getServerTotalByte()); } if (other.hasTotalPacketps()) { setTotalPacketps(other.getTotalPacketps()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } public final boolean isInitialized() { return true; } public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { TCPLogOuterClass.TCPLog parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (TCPLogOuterClass.TCPLog) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bitField0_; private int totalByteps_ ; /** * <code>optional int32 total_byteps = 1;</code> */ public boolean hasTotalByteps() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** * <code>optional int32 total_byteps = 1;</code> */ public int getTotalByteps() { return totalByteps_; } /** * <code>optional int32 total_byteps = 1;</code> */ public Builder setTotalByteps(int value) { bitField0_ |= 0x00000001; totalByteps_ = value; onChanged(); return this; } /** * <code>optional int32 total_byteps = 1;</code> */ public Builder clearTotalByteps() { bitField0_ = (bitField0_ & ~0x00000001); totalByteps_ = 0; onChanged(); return this; } private long flowStartTime_ ; /** * <code>optional int64 flow_start_time = 2;</code> */ public boolean hasFlowStartTime() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** * <code>optional int64 flow_start_time = 2;</code> */ public long getFlowStartTime() { return flowStartTime_; } /** * <code>optional int64 flow_start_time = 2;</code> */ public Builder setFlowStartTime(long value) { bitField0_ |= 0x00000002; flowStartTime_ = value; onChanged(); return this; } /** * <code>optional int64 flow_start_time = 2;</code> */ public Builder clearFlowStartTime() { bitField0_ = (bitField0_ & ~0x00000002); flowStartTime_ = 0L; onChanged(); return this; } private long date_ ; /** * <code>optional int64 date = 3;</code> */ public boolean hasDate() { return ((bitField0_ & 0x00000004) == 0x