/* * Copyright (C) 2011 Red Hat, Inc. and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.jboss.errai.bus.client.protocols; /** * Defines the standard protocol commands for interaction between federated {@link org.jboss.errai.bus.client.api.messaging.MessageBus} * instances. */ public enum BusCommand { /** * The first command sent from a client bus to a remote bus. This message indicates the bus would like to * establish a connection to the queue. There is no authentication associated with this command. Any * unauthenticated bus can connect to the bus, as establishing a communication channel is necessary * for all communication, including authentication. */ Associate, /** * The command sent from the remote bus back to the client bus to tell it that it should transition to a * normal communications mode, as all remote subscription data will have been sent at this point. */ FinishAssociation, /** * Notifies the remote bus that a local subscription has been registered. This is an advertisement to the * remote bus, so it can update it's routing tables. * <p/> * Parameters Accepted: * <p/> * <table style="border: 1px solid gray" cellpadding="3"> * <thead style="font-weight: bold;"> * <tr> * <td>Part</td> * <td>Type</td> * <td>Description</td> * </tr> * <thead> * <tbody> * <tr> * <td>{@link org.jboss.errai.common.client.protocols.MessageParts#Subject}</td> * <td>{@link String}</td> * <td>The name of the subject being subscribed to</td> * </tr> * </tbody> * </table> */ RemoteSubscribe, /** * Notifies the remote bus that a particular subject is no longer subscribed to locally. * <p/> * Parameters Accepted: * <p/> * <table style="border: 1px solid gray" cellpadding="3"> * <thead style="font-weight: bold;"> * <tr> * <td>Part</td> * <td>Type</td> * <td>Description</td> * </tr> * <thead> * <tbody> * <tr> * <td>{@link org.jboss.errai.common.client.protocols.MessageParts#Subject}</td> * <td>{@link String}</td> * <td>The name of the subject being subscribed to</td> * </tr> * </tbody> * </table> */ RemoteUnsubscribe, Heartbeat, Disconnect, Resend, SessionExpired, WebsocketChannelVerify, WebsocketChannelOpen, WebsocketNegotiationFailed, Unknown; }