⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 advice.java

📁 是离开的肌肤了卡机是离开的就富利卡及是了的开发及拉考试及的福利科技阿斯利康的肌肤莱卡及时的离开福建阿斯顿发
💻 JAVA
字号:
//========================================================================// Copyright 2008 Mort Bay Consulting Pty. Ltd.// ------------------------------------------------------------------------// 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.mortbay.cometd.client;import java.util.Map;/** * Advice * * Implementation of advice field from Bayeux message. *  */public class Advice{    //reconnect: retry, handshake, none    public static final int __RECONNECT_RETRY = 0;    public static final int __RECONNECT_HANDSHAKE = 1;    public static final int __RECONNECT_NONE = 2;    private Integer _reconnect;        //interval: ms    private Long _interval;        //multiple-clients: boolean    private Boolean _multipleClients;        //hosts: list    private String[] _hosts;        private Map _adviceField;            public Advice (Map adviceField)    {        _adviceField = adviceField;    }        /**     * A client MAY attempt to reconnect with a /meta/connect after      * the interval (as defined by "interval" advice or client-default backoff),      * and with the same credentials.      * @return     */    public boolean isReconnectRetry ()    {        if (_reconnect == null && _adviceField != null)             _reconnect = parseReconnect((String)_adviceField.get("reconnect"));                return _reconnect != null && _reconnect.intValue() ==__RECONNECT_RETRY;    }        /**     * The server has terminated any prior connection status and      * the client MUST reconnect with a /meta/handshake. A client      * MUST NOT automatically retry if handshake advice has been received.     * @return     */    public boolean isReconnectHandshake ()    {         if (_reconnect == null && _adviceField != null)            _reconnect = parseReconnect((String)_adviceField.get("reconnect"));          return _reconnect != null && _reconnect.intValue() == __RECONNECT_HANDSHAKE;    }    /**     * Hard failure for the connect attempt. Do not attempt to      * reconnect at all. A client MUST respect reconnect advice      * of none and MUST NOT automatically retry or handshake.     * @return     */    public boolean isReconnectNone ()    {        if (_reconnect == null && _adviceField != null)            _reconnect = parseReconnect((String)_adviceField.get("reconnect"));          return _reconnect != null && _reconnect.intValue() == __RECONNECT_NONE;    }        public long getInterval()    {        if (_interval==null && _adviceField != null)            _interval = (Long)_adviceField.get("interval");                return (_interval==null?0:_interval.longValue());    }        public boolean isMultipleClients()    {        if (_multipleClients == null && _adviceField != null)            _multipleClients = (Boolean)_adviceField.get("multiple-clients");        return (_multipleClients==null?false:_multipleClients.booleanValue());    }        public String[] getHosts()    {        if (_hosts == null && _adviceField != null)        {            Object[] hosts = (Object[])_adviceField.get("hosts");            if (hosts!=null)            {                _hosts = new String[hosts.length];                System.arraycopy(hosts, 0, _hosts, 0, hosts.length);            }          }        return _hosts;    }    private Integer parseReconnect (String reconnect)    {        if (reconnect != null)        {            reconnect = reconnect.trim();            if (reconnect.equalsIgnoreCase("retry"))                return new Integer( __RECONNECT_RETRY);            else if (reconnect.equalsIgnoreCase("handshake"))                return new Integer(__RECONNECT_HANDSHAKE);            else if (reconnect.equalsIgnoreCase("none"))               return new Integer(__RECONNECT_NONE);        }        return null;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -