001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: *
015: * See the License for the specific language governing permissions and
016: * limitations under the License.
017: */
018:
019: /**
020: * @author Mikhail A. Markov
021: * @version $Revision: 1.1.2.2 $
022: */package org.apache.harmony.rmi.transport;
023:
024: /**
025: * Constants for RMI Transport Protocol.
026: *
027: * @author Mikhail A. Markov
028: * @version $Revision: 1.1.2.2 $
029: */
030: public interface RMIProtocolConstants {
031:
032: /** Indicates sequence for beginning of header */
033: public static final int RMI_HEADER = 0x4a524d49;
034:
035: /** Indicates sequence for beginning of header */
036: public static final int HTTP_HEADER = 0x504f5354;
037:
038: /** Indicates version of RMI Transport Protocol */
039: public static final short PROTOCOL_VER = 0x02;
040:
041: /*
042: * -------------------------------------------------------------------------
043: * Group of RMI protocols
044: * -------------------------------------------------------------------------
045: */
046:
047: /** Indicates StreamProtocol */
048: public static final byte STREAM_PROTOCOL = 0x4b;
049:
050: /** Indicates SingleOpProtocol */
051: public static final byte SINGLEOP_PROTOCOL = 0x4c;
052:
053: /** Indicates MultiplexProtocol */
054: public static final byte MULTIPLEX_PROTOCOL = 0x4d;
055:
056: /*
057: * -------------------------------------------------------------------------
058: * Group of possible responses to protocol agreement messages
059: * -------------------------------------------------------------------------
060: */
061:
062: /** Indicates protocol accepted response (ProtocolAck) */
063: public static final byte PROTOCOL_ACK = 0x4e;
064:
065: /** Indicates protocol not supported response (ProtocolNotSupported) */
066: public static final byte PROTOCOL_NOT_SUPPORTED = 0x4f;
067:
068: /*
069: * -------------------------------------------------------------------------
070: * Group of possible messages types
071: * -------------------------------------------------------------------------
072: */
073:
074: /** Indicates method invocation (Call message) */
075: public static final byte CALL_MSG = 0x50;
076:
077: /** Indicates testing liveness of a remote VM (Ping message) */
078: public static final byte PING_MSG = 0x52;
079:
080: /**
081: * Indicates, that remote objects have been received by client in a return
082: * value from server (DgcAck message)
083: */
084: public static final byte DGCACK_MSG = 0x54;
085:
086: /*
087: * -------------------------------------------------------------------------
088: * Group of possible responses to messages
089: * -------------------------------------------------------------------------
090: */
091:
092: /**
093: * Indicates the result of a RMI call completion in response to Call message
094: */
095: public static final byte CALL_OK = 0x51;
096:
097: /** Indicates that server is alive in response to Ping message */
098: public static final byte PING_ACK = 0x53;
099:
100: /*
101: * -------------------------------------------------------------------------
102: * Group of possible results of remote method invocation (after CALL_OK msg)
103: * -------------------------------------------------------------------------
104: */
105:
106: /** Indicates that value is returned as a result of a RMI call */
107: public static final byte RETURN_VAL = 0x01;
108:
109: /**
110: * Indicates that exception (not communication-related) is thrown
111: * as a result of a RMI call
112: */
113: public static final byte RETURN_EX = 0x02;
114: }
|