Search in sources :

Example 6 with Hop

use of com.yahoo.messagebus.routing.Hop in project vespa by vespa-engine.

the class RoundRobinPolicy method select.

// Inherit doc from RoutingPolicy.
public void select(RoutingContext ctx) {
    Hop hop = getRecipient(ctx);
    if (hop != null) {
        Route route = new Route(ctx.getRoute());
        route.setHop(0, hop);
        ctx.addChild(route);
    } else {
        Reply reply = new EmptyReply();
        reply.addError(new Error(ErrorCode.NO_ADDRESS_FOR_SERVICE, "None of the configured recipients are currently available."));
        ctx.setReply(reply);
    }
}
Also used : Hop(com.yahoo.messagebus.routing.Hop) Reply(com.yahoo.messagebus.Reply) EmptyReply(com.yahoo.messagebus.EmptyReply) Error(com.yahoo.messagebus.Error) Route(com.yahoo.messagebus.routing.Route) EmptyReply(com.yahoo.messagebus.EmptyReply)

Aggregations

Hop (com.yahoo.messagebus.routing.Hop)6 Route (com.yahoo.messagebus.routing.Route)5 Message (com.yahoo.messagebus.Message)3 PutDocumentMessage (com.yahoo.documentapi.messagebus.protocol.PutDocumentMessage)2 RemoveDocumentMessage (com.yahoo.documentapi.messagebus.protocol.RemoveDocumentMessage)2 UpdateDocumentMessage (com.yahoo.documentapi.messagebus.protocol.UpdateDocumentMessage)2 EmptyReply (com.yahoo.messagebus.EmptyReply)2 Error (com.yahoo.messagebus.Error)2 Reply (com.yahoo.messagebus.Reply)2 ErrorDirective (com.yahoo.messagebus.routing.ErrorDirective)2 Tuple2 (com.yahoo.collections.Tuple2)1 DocumentMessage (com.yahoo.documentapi.messagebus.protocol.DocumentMessage)1 Request (com.yahoo.jrt.Request)1 Utf8String (com.yahoo.text.Utf8String)1