public override bool Equals()

in src/DotPulsar/MessageId.cs [105:128]


    public override bool Equals(object? o)
        => o is MessageId id && Equals(id);

    public bool Equals(MessageId? other)
        => other is not null && LedgerId == other.LedgerId && EntryId == other.EntryId && Partition == other.Partition && BatchIndex == other.BatchIndex;

    public static bool operator ==(MessageId x, MessageId y)
        => ReferenceEquals(x, y) || (x is not null && x.Equals(y));

    public static bool operator !=(MessageId x, MessageId y)
        => !(x == y);

    public override int GetHashCode()
        => HashCode.Combine(LedgerId, EntryId, Partition, BatchIndex);

    public override string ToString()
        => $"{LedgerId}:{EntryId}:{Partition}:{BatchIndex}";

    internal MessageIdData ToMessageIdData()
    {
        var messageIdData = new MessageIdData();
        messageIdData.MapFrom(this);
        return messageIdData;
    }