aboutsummaryrefslogtreecommitdiffstats
path: root/vespaclient-core/src/main/java/com/yahoo/feedapi/SendSession.java
blob: 152e9c5d189e99ffc47bb16f788d43e649bec5ad (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.feedapi;

import com.yahoo.messagebus.Message;
import com.yahoo.messagebus.Result;

/**
 * Wrapper class to send Messages. Used instead of using a MessageBus session directly
 * so that unit tests can be more easily made.
 */
public abstract class SendSession {

    protected abstract Result onSend(Message m, boolean blockIfQueueIsFull) throws InterruptedException;

    public Result send(Message m, boolean blockIfQueueIsFull) throws InterruptedException {
        return onSend(m, blockIfQueueIsFull);
    }

    public abstract void close();

}