@java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + TYPE_FIELD_NUMBER;
      hash = (53 * hash) + getType().hashCode();
      switch (typeDetailsCase_) {
        case 2:
          hash = (37 * hash) + GSTREAMER_BUFFER_DESCRIPTOR_FIELD_NUMBER;
          hash = (53 * hash) + getGstreamerBufferDescriptor().hashCode();
          break;
        case 3:
          hash = (37 * hash) + RAW_IMAGE_DESCRIPTOR_FIELD_NUMBER;
          hash = (53 * hash) + getRawImageDescriptor().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }
<pre>
The type of the packet. Its possible values is codec dependent.

The fully qualified type name is always the concatenation of the
value in `type_class` together with the value in `type`, separated by a
'/'.

Note that specific codecs can define their own type hierarchy, and so the
type string here can in fact be separated by multiple '/'s of its own.

Please see the open source SDK for specific codec documentation.
</pre>

<code>string type = 1;</code>

@return The bytes for type.
java-visionai/proto-google-cloud-visionai-v1/src/main/java/com/google/cloud/visionai/v1/PacketType.java