<commit_before>using Chinchilla.Topologies;

namespace Chinchilla.Configuration
{
    public interface IPublisherBuilder
    {
        IPublisherBuilder SetTopology(IMessageTopologyBuilder messageTopologyBuilder);

        IPublisherBuilder RouteWith<TRouter>()
            where TRouter : IRouter, new();

        IPublisherBuilder RouteWith(IRouter router);

        /// <summary>
        /// Overrides the default endpoint name that the publisher will publish on
        /// </summary>
        IPublisherBuilder PublishOn(string endpointName);

        /// <summary>
        /// Overrides the default message serializer with the message serialize with the
        /// given content type
        /// </summary>
        IPublisherBuilder SerializeWith(string contentType);

        IPublisherBuilder ReplyTo(string queueName);

        IPublisherBuilder BuildTopology(bool shouldBuildTopology);
    }
}<commit_msg>docs on publisher builder.<commit_after>using Chinchilla.Topologies;

namespace Chinchilla.Configuration
{
    /// <summary>
    /// A publisher builder is used to configure the building of a publisher
    /// </summary>
    public interface IPublisherBuilder
    {
        /// <summary>
        /// Sets the topology on this publisher
        /// </summary>
        IPublisherBuilder SetTopology(IMessageTopologyBuilder messageTopologyBuilder);

        /// <summary>
        /// Sets the router
        /// </summary>
        IPublisherBuilder RouteWith<TRouter>()
            where TRouter : IRouter, new();

        /// <summary>
        /// Sets the router
        /// </summary>
        IPublisherBuilder RouteWith(IRouter router);

        /// <summary>
        /// Overrides the default endpoint name that the publisher will publish on
        /// </summary>
        IPublisherBuilder PublishOn(string endpointName);

        /// <summary>
        /// Overrides the default message serializer with the message serialize with the
        /// given content type
        /// </summary>
        IPublisherBuilder SerializeWith(string contentType);

        /// <summary>
        /// Sets the queue name to reply to
        /// </summary>
        IPublisherBuilder ReplyTo(string queueName);

        /// <summary>
        /// indicates whether or not the publisher should build the topology
        /// </summary>
        IPublisherBuilder BuildTopology(bool shouldBuildTopology);
    }
}
{'fraction_non_alphanumeric': 0.09181553801412547, 'fraction_numerical': 0.0, 'mean_word_length': 2.227882037533512, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 25, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5389225', 'n_tokens_mistral': 583, 'n_tokens_neox': 571, 'n_words': 176}