public void Build(ReplySenderSchema schema)
 {
     Contract.Requires(schema != null);
     
     MessagePipelineBuilder.Build()
         .WithBusReplyTo(new MessageFilter(new MessageReplyContextMessageFilterStrategy(schema.Address)))
         .ToConverter(new MessagePayloadPackager(serialiser))
         .ToProcessor(new MessageHookRunner<MessagePayload>(schema.Hooks))
         .ToProcessor(new DirectChannelMessageAddresser(schema.Address))
         .ToEndPoint(new ReplySender());
 }
        public DirectRequestReplyReceiverConfiguration(MessagingConfiguration messagingConfiguration, EndpointAddress address) 
            : base(messagingConfiguration) 
        {
            Contract.Requires(messagingConfiguration != null);
            Contract.Requires(address != null);

            receiveSchema = new RequestReceiverSchema
            {
                Address = address,
                FilterStrategy = new PassThroughMessageFilterStategy()
            };

            sendSchema = new ReplySenderSchema()
            {
                Address = address
            };
        }