@java.lang.Override
    public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) {
            return size;
        }

        size = 0;
        if (!com.google.protobuf.GeneratedMessage.isStringEmpty(room_)) {
            size += com.google.protobuf.GeneratedMessage.computeStringSize(1, room_);
        }
        if (!data_.isEmpty()) {
            size += com.google.protobuf.CodedOutputStream.computeBytesSize(2, data_);
        }
        if (kind_ != im.turms.plugin.livekit.core.proto.models.DataPacket.Kind.RELIABLE
                .getNumber()) {
            size += com.google.protobuf.CodedOutputStream.computeEnumSize(3, kind_);
        }
        {
            int dataSize = 0;
            for (int i = 0; i < destinationSids_.size(); i++) {
                dataSize += computeStringSizeNoTag(destinationSids_.getRaw(i));
            }
            size += dataSize;
            size += getDestinationSidsList().size();
        }
        if (((bitField0_ & 0x00000001) != 0)) {
            size += com.google.protobuf.GeneratedMessage.computeStringSize(5, topic_);
        }
        {
            int dataSize = 0;
            for (int i = 0; i < destinationIdentities_.size(); i++) {
                dataSize += computeStringSizeNoTag(destinationIdentities_.getRaw(i));
            }
            size += dataSize;
            size += getDestinationIdentitiesList().size();
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
    }
<code>optional string topic = 5;</code>

@return The bytes for topic.
turms-plugins/turms-plugin-livekit/src/main/java/im/turms/plugin/livekit/core/proto/room/SendDataRequest.java