blob: d0b8cbbb64f2b7515f6a651ed4e15209b5180c5e [file] [log] [blame]
Madan Jampania9e70a62016-03-02 16:28:18 -08001/*
Brian O'Connor5ab426f2016-04-09 01:19:45 -07002 * Copyright 2016-present Open Networking Laboratory
Madan Jampania9e70a62016-03-02 16:28:18 -08003 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.onosproject.store.cluster.messaging;
17
18import java.io.IOException;
19
20/**
21 * Top level exception for MessagingService failures.
22 */
23@SuppressWarnings("serial")
24public class MessagingException extends IOException {
25
26 public MessagingException() {
27 }
28
29 public MessagingException(String message) {
30 super(message);
31 }
32
33 public MessagingException(String message, Throwable t) {
34 super(message, t);
35 }
36
37 public MessagingException(Throwable t) {
38 super(t);
39 }
40
41 /**
42 * Exception indicating no remote registered remote handler.
43 */
44 public static class NoRemoteHandler extends MessagingException {
Jonathan Harte255cc42016-09-12 14:50:24 -070045 public NoRemoteHandler() {
46 super("No remote message handler registered for this message");
47 }
Madan Jampania9e70a62016-03-02 16:28:18 -080048 }
49
50 /**
51 * Exception indicating handler failure.
52 */
53 public static class RemoteHandlerFailure extends MessagingException {
Jonathan Harte255cc42016-09-12 14:50:24 -070054 public RemoteHandlerFailure() {
55 super("Remote handler failed to handle message");
56 }
Madan Jampania9e70a62016-03-02 16:28:18 -080057 }
Madan Jampanib825aeb2016-04-01 15:18:25 -070058
59 /**
Jonathan Harte255cc42016-09-12 14:50:24 -070060 * Exception indicating failure due to invalid message structure such as an incorrect preamble.
Madan Jampanib825aeb2016-04-01 15:18:25 -070061 */
Jonathan Harte255cc42016-09-12 14:50:24 -070062 public static class ProtocolException extends MessagingException {
63 public ProtocolException() {
64 super("Failed to process message due to invalid message structure");
65 }
Madan Jampanib825aeb2016-04-01 15:18:25 -070066 }
Jonathan Harte255cc42016-09-12 14:50:24 -070067}