public Task Publish(BaseVolleyballMessage message)
        {
            //TODO: Get hostname from config
            var factory = new ConnectionFactory()
            {
                HostName = "localhost"
            };

            using (var connection = factory.CreateConnection())
                using (var channel = connection.CreateModel())
                {
                    channel.QueueDeclare(queue: message.GetType().Name,
                                         durable: false,
                                         exclusive: false,
                                         autoDelete: false,
                                         arguments: null);
                    //channel.ExchangeDeclare(message.GetType().Name, ExchangeType.Topic);

                    var body = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(message));

                    channel.BasicPublish(exchange: "",//message.GetType().Name,
                                         routingKey: message.GetType().Name,
                                         basicProperties: null,
                                         body: body);
                }

            return(Task.CompletedTask);
        }
 public RecievedVolleyEventArgs(string queue)
 {
     _message = VolleyballMessageFactory.CreateByName(queue);
 }