1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5package org.chromium.mojo.bindings;
6
7import java.io.Closeable;
8
9/**
10 * A class which implements this interface can receive {@link Message} objects.
11 */
12public interface MessageReceiver extends Closeable {
13
14    /**
15     * Receive a {@link Message}. The {@link MessageReceiver} is allowed to mutate the message.
16     * Returns |true| if the message has been handled, |false| otherwise.
17     */
18    boolean accept(Message message);
19
20    /**
21     * @see java.io.Closeable#close()
22     */
23    @Override
24    public void close();
25}
26