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 5 package org.chromium.mojo.bindings; 6 7 import org.chromium.mojo.system.MessagePipeHandle; 8 9 /** 10 * A {@link Router} will handle mojo message and forward those to a {@link Connector}. It deals with 11 * parsing of headers and adding of request ids in order to be able to match a response to a 12 * request. 13 */ 14 public interface Router extends MessageReceiverWithResponder, HandleOwner<MessagePipeHandle> { 15 16 /** 17 * Start listening for incoming messages. 18 */ start()19 public void start(); 20 21 /** 22 * Set the {@link MessageReceiverWithResponder} that will deserialize and use the message 23 * received from the pipe. 24 */ setIncomingMessageReceiver(MessageReceiverWithResponder incomingMessageReceiver)25 public void setIncomingMessageReceiver(MessageReceiverWithResponder incomingMessageReceiver); 26 27 /** 28 * Set the handle that will be notified of errors on the message pipe. 29 */ setErrorHandler(ConnectionErrorHandler errorHandler)30 public void setErrorHandler(ConnectionErrorHandler errorHandler); 31 } 32