/*
* Copyright 2008-2009 the original author or authors.
*
* 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 net.hasor.rsf.domain;
/**
* 各种常量
* <p>一个RSF数据包头的定义如下:
* <li>第 1 个二进制位:表示是否为 RSF 数据包,合法的数据为 0x80 (1000 0000)<li/>
* <li>第 2 ~ 4 个二进制位:表示数据包的分类,加上包头合法的数据为 0x80 ~ 0xF0 (1000 0000 ~ 1111 0000)<li/>
* <li>最后的 4 个二进制位,用于表示该分类包的版本。可选范围为:0~15 (0000 0000 ~ 0000 1111) <li/>
* </p>
* @version : 2014年9月20日
* @author 赵永春(zyc@hasor.net)
*/
public interface RsfConstants {
// RSF数据包 -(1000 0000)
public static final byte RSF_Packet = (byte) (0x80);
//
// RSF所有包头分类 -(1000 0000 ~ 1111 0000)
public static final byte RSF_Packet_Heart = RSF_Packet | 0x00; // 1000 (心跳)
public static final byte RSF_Packet_InvokerRequest = RSF_Packet | 0x10; // 1001 (请求:调用方式)
public static final byte RSF_Packet_MessageRequest = RSF_Packet | 0x20; // 1010 (请求:方式)
public static final byte RSF_Packet_Response = RSF_Packet | 0x30; // 1011 (响应)
public static final byte RSF_Packet_Options = RSF_Packet | 0x40; // 1100 (选项参数)
public static final byte RSF_Packet_xxxx5 = RSF_Packet | 0x50; // 1101 (未使用)
public static final byte RSF_Packet_xxxx6 = RSF_Packet | 0x60; // 1110 (未使用)
public static final byte RSF_Packet_xxxx7 = RSF_Packet | 0x70; // 1111 (未使用)
//
//
// 协议头1.0
public static final byte Version_1 = (byte) (0x01); // 1000 0001
public static final byte RSF_InvokerRequest = Version_1 | RSF_Packet_InvokerRequest; // 1001 0001
public static final byte RSF_MessageRequest = Version_1 | RSF_Packet_MessageRequest; // 1010 0001
public static final byte RSF_Response = Version_1 | RSF_Packet_Response; // 1011 0001
public static final byte RSF_Options = Version_1 | RSF_Packet_Options; // 1100 0001
//
//
// ---------------------------------------------------------------------------------------------
public static final String AddressList_ZipEntry = "address.sal";
public static final String FlowControlRef_ZipEntry = "flow-control.xml";
public static final String ServiceLevelScript_ZipEntry = "service-level.groovy";
public static final String MethodLevelScript_ZipEntry = "method-level.groovy";
public static final String ArgsLevelScript_ZipEntry = "args-level.groovy";
public static final String AddrPoolStoreName = "addr-pool-";
//
public static final String SnapshotPath = "/snapshot";
public static final String SnapshotIndex = "address.index";
//
public static final long OneHourTime = 1 * 60 * 60 * 1000;
public static final long SevenDaysTime = 7 * 24 * OneHourTime;
//
// ---------------------------------------------------------------------------------------------
public static final String LoggerName_Console = "rsf-console";
public static final String LoggerName_ConsoleRXD = "rsf-console-rtxd";
public static final String LoggerName_Invoker = "rsf-invoker";
public static final String LoggerName_Address = "rsf-address";
}