<html>
<head>
<!--
- - The Apache Software License, Version 1.1
- -
- - Copyright (c) 1999 The Apache Software Foundation. All rights
- - reserved.
- -
- - Redistribution and use in source and binary forms, with or without
- - modification, are permitted provided that the following conditions
- - are met:
- -
- - 1. Redistributions of source code must retain the above copyright
- - notice, this list of conditions and the following disclaimer.
- -
- - 2. Redistributions in binary form must reproduce the above copyright
- - notice, this list of conditions and the following disclaimer in
- - the documentation and/or other materials provided with the
- - distribution.
- -
- - 3. The end-user documentation included with the redistribution, if
- - any, must include the following acknowlegement:
- - "This product includes software developed by the
- - Apache Software Foundation (http://www.apache.org/)."
- - Alternately, this acknowlegement may appear in the software itself,
- - if and wherever such third-party acknowlegements normally appear.
- -
- - 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
- - Foundation" must not be used to endorse or promote products derived
- - from this software without prior written permission. For written
- - permission, please contact apache@apache.org.
- -
- - 5. Products derived from this software may not be called "Apache"
- - nor may "Apache" appear in their names without prior written
- - permission of the Apache Group.
- -
- - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- - DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- - ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- - USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- - OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- - SUCH DAMAGE.
- - ====================================================================
- -
- - This software consists of voluntary contributions made by many
- - individuals on behalf of the Apache Software Foundation. For more
- - information on the Apache Software Foundation, please see
- - <http://www.apache.org/>.
- -
- -->
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+-->
</head>
<body bgcolor="white">
<html>
<head>
<!--
- - The Apache Software License, Version 1.1
- -
- - Copyright (c) 1999 The Apache Software Foundation. All rights
- - reserved.
- -
- - Redistribution and use in source and binary forms, with or without
- - modification, are permitted provided that the following conditions
- - are met:
- -
- - 1. Redistributions of source code must retain the above copyright
- - notice, this list of conditions and the following disclaimer.
- -
- - 2. Redistributions in binary form must reproduce the above copyright
- - notice, this list of conditions and the following disclaimer in
- - the documentation and/or other materials provided with the
- - distribution.
- -
- - 3. The end-user documentation included with the redistribution, if
- - any, must include the following acknowlegement:
- - "This product includes software developed by the
- - Apache Software Foundation (http://www.apache.org/)."
- - Alternately, this acknowlegement may appear in the software itself,
- - if and wherever such third-party acknowlegements normally appear.
- -
- - 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
- - Foundation" must not be used to endorse or promote products derived
- - from this software without prior written permission. For written
- - permission, please contact apache@apache.org.
- -
- - 5. Products derived from this software may not be called "Apache"
- - nor may "Apache" appear in their names without prior written
- - permission of the Apache Group.
- -
- - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- - DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- - ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- - USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- - OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- - SUCH DAMAGE.
- - ====================================================================
- -
- - This software consists of voluntary contributions made by many
- - individuals on behalf of the Apache Software Foundation. For more
- - information on the Apache Software Foundation, please see
- - <http://www.apache.org/>.
- -
- -->
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+-->
</head>
<body bgcolor="white">
Classes and interfaces for the Core JSP 2.0 API.
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 javax.servlet.jsp.tagext;
public interface JspIdConsumer {
<html>
<head>
<!--
- - The Apache Software License, Version 1.1
- -
- - Copyright (c) 1999 The Apache Software Foundation. All rights
- - reserved.
- -
- - Redistribution and use in source and binary forms, with or without
- - modification, are permitted provided that the following conditions
- - are met:
- -
- - 1. Redistributions of source code must retain the above copyright
- - notice, this list of conditions and the following disclaimer.
- -
- - 2. Redistributions in binary form must reproduce the above copyright
- - notice, this list of conditions and the following disclaimer in
- - the documentation and/or other materials provided with the
- - distribution.
- -
- - 3. The end-user documentation included with the redistribution, if
- - any, must include the following acknowlegement:
- - "This product includes software developed by the
- - Apache Software Foundation (http://www.apache.org/)."
- - Alternately, this acknowlegement may appear in the software itself,
- - if and wherever such third-party acknowlegements normally appear.
- -
- - 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
- - Foundation" must not be used to endorse or promote products derived
- - from this software without prior written permission. For written
- - permission, please contact apache@apache.org.
- -
- - 5. Products derived from this software may not be called "Apache"
- - nor may "Apache" appear in their names without prior written
- - permission of the Apache Group.
- -
- - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- - DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- - ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- - USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- - OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- - SUCH DAMAGE.
- - ====================================================================
- -
- - This software consists of voluntary contributions made by many
- - individuals on behalf of the Apache Software Foundation. For more
- - information on the Apache Software Foundation, please see
- - <http://www.apache.org/>.
- -
- -->
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+-->
</head>
<body bgcolor="white">
-package org.apache.catalina;\r
-\r
-\r
-\r
-public interface Executor extends java.util.concurrent.Executor, Lifecycle {\r
- public String getName();\r
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina;
+
+
+
+public interface Executor extends java.util.concurrent.Executor, Lifecycle {
+ public String getName();
}
\ No newline at end of file
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.ha;
import org.apache.catalina.tribes.Member;
*
* <p>Description: </p>
*
- * <p>Copyright: Copyright (c) 2005</p>
*
* <p>Company: </p>
*
public void setTimestamp(long timestamp) {
this.timestamp = timestamp;
}
-}
\ No newline at end of file
+}
/*
- * Copyright 1999-2001,2004-2005 The Apache Software Foundation.
- *
- * 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
- *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
/*
- * Copyright 1999,2004 The Apache Software Foundation.
- *
- * 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
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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
*
/*
- * Copyright 1999,2004 The Apache Software Foundation.
- *
- * 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
- *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
/*
- * Copyright 1999,2004 The Apache Software Foundation.
- *
- * 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
- *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ * 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.apache.catalina.ha.tcp;
/*
- * Copyright 1999,2004 The Apache Software Foundation. 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.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.ssi;
/*
- * Copyright 1999,2004 The Apache Software Foundation. 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.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.ssi;
/*
- * Copyright 1999,2004 The Apache Software Foundation. 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.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.ssi;
/*
- * Copyright 1999,2004 The Apache Software Foundation. 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.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.ssi;
/*
- * Copyright 1999,2004 The Apache Software Foundation. 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.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.ssi;
/*
- * Copyright 1999,2004 The Apache Software Foundation. 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.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.ssi;
/*
- * Copyright 1999,2004 The Apache Software Foundation. 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.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.ssi;
/*
- * Copyright 1999,2004 The Apache Software Foundation. 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.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.ssi;
/*
- * Copyright 1999,2004 The Apache Software Foundation. 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.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.ssi;
/*
- * Copyright 1999,2004 The Apache Software Foundation. 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.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.ssi;
/*
- * Copyright 1999,2004 The Apache Software Foundation. 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.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.ssi;
/*
- * Copyright 1999,2004 The Apache Software Foundation. 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.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.ssi;
/*
- * Copyright 1999,2004 The Apache Software Foundation. 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.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.ssi;
/*
- * Copyright 1999,2004 The Apache Software Foundation. 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.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.ssi;
/*
- * Copyright 1999,2004 The Apache Software Foundation. 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.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.ssi;
/*
- * Copyright 1999,2004 The Apache Software Foundation. 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.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.ssi;
/*
- * Copyright 1999,2004 The Apache Software Foundation. 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.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.ssi;
/*
- * Copyright 1999,2004 The Apache Software Foundation. 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.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.ssi;
/*
- * Copyright 1999,2004 The Apache Software Foundation. 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.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.ssi;
/*
- * Copyright 1999,2004 The Apache Software Foundation. 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.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.ssi;
/*
- * Copyright 1999,2004 The Apache Software Foundation. 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.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.ssi;
/*
- * Copyright 1999,2006 The Apache Software Foundation.
- *
- * 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
- *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ * 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.apache.catalina.tribes;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.tribes.group;
import org.apache.catalina.tribes.Member;
}
}
-}
\ No newline at end of file
+}
*
* <p>Description: </p>
*
- * <p>Copyright: Copyright (c) 2005</p>
- *
* <p>Company: </p>
*
* @author not attributable
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.tribes.group.interceptors;
import org.apache.catalina.tribes.group.ChannelInterceptorBase;
*
* <p>Description: </p>
*
- * <p>Copyright: Copyright (c) 2005</p>
- *
* <p>Company: </p>
*
* @author not attributable
*
* <p>Description: </p>
*
- * <p>Copyright: Copyright (c) 2006</p>
- *
* <p>Company: </p>
*
* @author not attributable
/*
- * Copyright 1999,2006 The Apache Software Foundation.
- *
- * 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
- *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ * 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.apache.catalina.tribes.transport;
*
* <p>Description: </p>
*
- * <p>Copyright: Copyright (c) 2005</p>
- *
* <p>Company: </p>
*
* @author not attributable
*
* <p>Description: </p>
*
- * <p>Copyright: Copyright (c) 2005</p>
- *
* <p>Company: </p>
*
* @author not attributable
*
* <p>Description: </p>
*
- * <p>Copyright: Copyright (c) 2005</p>
- *
* <p>Company: </p>
*
* @author not attributable
/*
- * Copyright 1999,2006 The Apache Software Foundation.
- *
- * 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
- *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ * 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.apache.catalina.tribes.transport;
*
* <p>Description: </p>
*
- * <p>Copyright: Copyright (c) 2005</p>
- *
* <p>Company: </p>
*
* @author not attributable
/*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
- *
- * 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
- *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ * 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.apache.catalina.tribes.transport;
/*
- * Copyright 1999,2006 The Apache Software Foundation.
- *
- * 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
- *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ * 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.apache.catalina.tribes.transport.bio;
*
* <p>Description: </p>
*
- * <p>Copyright: Copyright (c) 2005</p>
- *
* <p>Company: </p>
*
* @author not attributable
/*
- * Copyright 1999,2006 The Apache Software Foundation.
- *
- * 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
- *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ * 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.apache.catalina.tribes.transport.bio;
/*
- * Copyright 1999,2006 The Apache Software Foundation.
- *
- * 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
- *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ * 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.apache.catalina.tribes.transport.bio;
import java.io.IOException;
/**
*
* @author Filip Hanik
- * @version $Revision:$ $Date:$
+ * @version $Revision$ $Date$
*
*/
public class MultipointBioSender extends AbstractSender implements MultiPointSender {
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.catalina.tribes.transport.bio;
import org.apache.catalina.tribes.transport.DataSender;
*
* <p>Description: </p>
*
- * <p>Copyright: Copyright (c) 2005</p>
- *
* <p>Company: </p>
*
* @author not attributable
//disconnect senders
}
-}
\ No newline at end of file
+}
*
* <p>Description: </p>
*
- * <p>Copyright: Copyright (c) 2005</p>
- *
* <p>Company: </p>
*
* @author not attributable
*
* <p>Description: </p>
*
- * <p>Copyright: Copyright (c) 2005</p>
- *
* <p>Company: </p>
*
* @author not attributable
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.Executor;
import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
import javax.management.MBeanRegistration;
import javax.management.MBeanServer;
protected static class AjpConnectionHandler implements Handler {
protected AjpAprProtocol proto;
- protected AtomicInteger registerCount = new AtomicInteger(0);
+ protected AtomicLong registerCount = new AtomicLong(0);
protected RequestGroupInfo global = new RequestGroupInfo();
protected ConcurrentLinkedQueue<AjpAprProcessor> recycledProcessors =
if (proto.getDomain() != null) {
synchronized (this) {
try {
- int count = registerCount.incrementAndGet();
- if (log.isDebugEnabled()) {
- log.debug("Register ["+processor+"] count=" + count);
- }
+ long count = registerCount.incrementAndGet();
RequestInfo rp = processor.getRequest().getRequestProcessor();
rp.setGlobalProcessor(global);
ObjectName rpName = new ObjectName
(proto.getDomain() + ":type=RequestProcessor,worker="
+ proto.getName() + ",name=AjpRequest" + count);
+ if (log.isDebugEnabled()) {
+ log.debug("Register " + rpName);
+ }
Registry.getRegistry(null, null).registerComponent(rp, rpName, null);
rp.setRpName(rpName);
} catch (Exception e) {
if (proto.getDomain() != null) {
synchronized (this) {
try {
- int count = registerCount.decrementAndGet();
- if (log.isDebugEnabled()) {
- log.debug("Unregister [" + processor + "] count=" + count);
- }
RequestInfo rp = processor.getRequest().getRequestProcessor();
rp.setGlobalProcessor(null);
ObjectName rpName = rp.getRpName();
+ if (log.isDebugEnabled()) {
+ log.debug("Unregister " + rpName);
+ }
Registry.getRegistry(null, null).unregisterComponent(rpName);
rp.setRpName(null);
} catch (Exception e) {
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.Executor;
import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
import javax.management.MBeanRegistration;
import javax.management.MBeanServer;
protected static class AjpConnectionHandler implements Handler {
protected AjpProtocol proto;
- protected AtomicInteger registerCount = new AtomicInteger(0);
+ protected AtomicLong registerCount = new AtomicLong(0);
protected RequestGroupInfo global = new RequestGroupInfo();
protected ConcurrentLinkedQueue<AjpProcessor> recycledProcessors =
if (proto.getDomain() != null) {
synchronized (this) {
try {
- int count = registerCount.incrementAndGet();
- if (log.isDebugEnabled()) {
- log.debug("Register ["+processor+"] count=" + count);
- }
+ long count = registerCount.incrementAndGet();
RequestInfo rp = processor.getRequest().getRequestProcessor();
rp.setGlobalProcessor(global);
ObjectName rpName = new ObjectName
(proto.getDomain() + ":type=RequestProcessor,worker="
+ proto.getName() + ",name=AjpRequest" + count);
+ if (log.isDebugEnabled()) {
+ log.debug("Register " + rpName);
+ }
Registry.getRegistry(null, null).registerComponent(rp, rpName, null);
rp.setRpName(rpName);
} catch (Exception e) {
if (proto.getDomain() != null) {
synchronized (this) {
try {
- int count = registerCount.decrementAndGet();
- if (log.isDebugEnabled()) {
- log.debug("Unregister [" + processor + "] count=" + count);
- }
RequestInfo rp = processor.getRequest().getRequestProcessor();
rp.setGlobalProcessor(null);
ObjectName rpName = rp.getRpName();
+ if (log.isDebugEnabled()) {
+ log.debug("Unregister " + rpName);
+ }
Registry.getRegistry(null, null).unregisterComponent(rpName);
rp.setRpName(null);
} catch (Exception e) {
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.Executor;
import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
import javax.management.MBeanRegistration;
import javax.management.MBeanServer;
static class Http11ConnectionHandler implements Handler {
protected Http11AprProtocol proto;
- protected AtomicInteger registerCount = new AtomicInteger(0);
+ protected AtomicLong registerCount = new AtomicLong(0);
protected RequestGroupInfo global = new RequestGroupInfo();
protected ConcurrentHashMap<Long, Http11AprProcessor> connections =
if (proto.getDomain() != null) {
synchronized (this) {
try {
- int count = registerCount.incrementAndGet();
- if (log.isDebugEnabled()) {
- log.debug("Register ["+processor+"] count=" + count);
- }
+ long count = registerCount.incrementAndGet();
RequestInfo rp = processor.getRequest().getRequestProcessor();
rp.setGlobalProcessor(global);
ObjectName rpName = new ObjectName
(proto.getDomain() + ":type=RequestProcessor,worker="
+ proto.getName() + ",name=HttpRequest" + count);
+ if (log.isDebugEnabled()) {
+ log.debug("Register " + rpName);
+ }
Registry.getRegistry(null, null).registerComponent(rp, rpName, null);
rp.setRpName(rpName);
} catch (Exception e) {
if (proto.getDomain() != null) {
synchronized (this) {
try {
- int count = registerCount.decrementAndGet();
- if (log.isDebugEnabled()) {
- log.debug("Unregister [" + processor + "] count=" + count);
- }
RequestInfo rp = processor.getRequest().getRequestProcessor();
rp.setGlobalProcessor(null);
ObjectName rpName = rp.getRpName();
+ if (log.isDebugEnabled()) {
+ log.debug("Unregister " + rpName);
+ }
Registry.getRegistry(null, null).unregisterComponent(rpName);
rp.setRpName(null);
} catch (Exception e) {
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.Executor;
import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
import javax.management.MBeanRegistration;
import javax.management.MBeanServer;
protected static class Http11ConnectionHandler implements Handler {
protected Http11Protocol proto;
- protected AtomicInteger registerCount = new AtomicInteger(0);
+ protected AtomicLong registerCount = new AtomicLong(0);
protected RequestGroupInfo global = new RequestGroupInfo();
protected ConcurrentLinkedQueue<Http11Processor> recycledProcessors =
if (proto.getDomain() != null) {
synchronized (this) {
try {
- int count = registerCount.incrementAndGet();
- if (log.isDebugEnabled()) {
- log.debug("Register ["+processor+"] count=" + count);
- }
+ long count = registerCount.incrementAndGet();
RequestInfo rp = processor.getRequest().getRequestProcessor();
rp.setGlobalProcessor(global);
ObjectName rpName = new ObjectName
(proto.getDomain() + ":type=RequestProcessor,worker="
+ proto.getName() + ",name=HttpRequest" + count);
+ if (log.isDebugEnabled()) {
+ log.debug("Register " + rpName);
+ }
Registry.getRegistry(null, null).registerComponent(rp, rpName, null);
rp.setRpName(rpName);
} catch (Exception e) {
if (proto.getDomain() != null) {
synchronized (this) {
try {
- int count = registerCount.decrementAndGet();
- if (log.isDebugEnabled()) {
- log.debug("Unregister [" + processor + "] count=" + count);
- }
RequestInfo rp = processor.getRequest().getRequestProcessor();
rp.setGlobalProcessor(null);
ObjectName rpName = rp.getRpName();
+ if (log.isDebugEnabled()) {
+ log.debug("Unregister " + rpName);
+ }
Registry.getRegistry(null, null).unregisterComponent(rpName);
rp.setRpName(null);
} catch (Exception e) {
import org.apache.jasper.el.VariableResolverImpl;
import org.apache.jasper.security.SecurityUtil;
import org.apache.jasper.util.Enumerator;
-import org.apache.juli.logging.Log;
-import org.apache.juli.logging.LogFactory;
/**
* Implementation of the PageContext class from the JSP spec. Also doubles as a
*/
public class PageContextImpl extends PageContext {
- // Logger
- private static Log log = LogFactory.getLog(PageContextImpl.class);
-
private BodyContentImpl[] outs;
private int depth;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.tomcat.util.modeler.modules;
import java.io.InputStream;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.tomcat.util.modeler.modules;
import java.io.FileNotFoundException;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.tomcat.util.modeler.modules;
import java.util.List;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.tomcat.util.modeler.modules;
import java.io.File;
-/*\r
- * Copyright 2005-2006 The Apache Software Foundation\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-package org.apache.tomcat.util.net;\r
-\r
-import java.io.EOFException;\r
-import java.io.IOException;\r
-import java.net.SocketTimeoutException;\r
-import java.nio.ByteBuffer;\r
-import java.nio.channels.SelectionKey;\r
-import java.util.concurrent.TimeUnit;\r
-\r
-import org.apache.tomcat.util.net.NioEndpoint.KeyAttachment;\r
-\r
-public class NioBlockingSelector {\r
- public NioBlockingSelector() {\r
- }\r
-\r
- /**\r
- * Performs a blocking write using the bytebuffer for data to be written\r
- * If the <code>selector</code> parameter is null, then it will perform a busy write that could\r
- * take up a lot of CPU cycles.\r
- * @param buf ByteBuffer - the buffer containing the data, we will write as long as <code>(buf.hasRemaining()==true)</code>\r
- * @param socket SocketChannel - the socket to write data to\r
- * @param writeTimeout long - the timeout for this write operation in milliseconds, -1 means no timeout\r
- * @return int - returns the number of bytes written\r
- * @throws EOFException if write returns -1\r
- * @throws SocketTimeoutException if the write times out\r
- * @throws IOException if an IO Exception occurs in the underlying socket logic\r
- */\r
- public static int write(ByteBuffer buf, NioChannel socket, long writeTimeout) throws IOException {\r
- SelectionKey key = socket.getIOChannel().keyFor(socket.getPoller().getSelector());\r
- int written = 0;\r
- boolean timedout = false;\r
- int keycount = 1; //assume we can write\r
- long time = System.currentTimeMillis(); //start the timeout timer\r
- if (socket.getBufHandler().getWriteBuffer() != buf) {\r
- socket.getBufHandler().getWriteBuffer().put(buf);\r
- buf = socket.getBufHandler().getWriteBuffer();\r
- }\r
- try {\r
- while ( (!timedout) && buf.hasRemaining()) {\r
- if (keycount > 0) { //only write if we were registered for a write\r
- int cnt = socket.write(buf); //write the data\r
- if (cnt == -1)\r
- throw new EOFException();\r
- written += cnt;\r
- if (cnt > 0) {\r
- time = System.currentTimeMillis(); //reset our timeout timer\r
- continue; //we successfully wrote, try again without a selector\r
- }\r
- }\r
- if ( key == null ) throw new IOException("Key no longer registered");\r
- KeyAttachment att = (KeyAttachment) key.attachment();\r
- try {\r
- if ( att.getLatch()==null || att.getLatch().getCount()==0) att.startLatch(1);\r
- if ( att.interestOps() == 0) socket.getPoller().add(socket,SelectionKey.OP_WRITE);\r
- att.getLatch().await(writeTimeout,TimeUnit.MILLISECONDS);\r
- }catch (InterruptedException ignore) {\r
- Thread.interrupted();\r
- }\r
- if ( att.getLatch()!=null && att.getLatch().getCount()> 0) {\r
- //we got interrupted, but we haven't received notification from the poller.\r
- keycount = 0;\r
- }else {\r
- //latch countdown has happened\r
- keycount = 1;\r
- att.resetLatch();\r
- }\r
-\r
- if (writeTimeout > 0 && (keycount == 0))\r
- timedout = (System.currentTimeMillis() - time) >= writeTimeout;\r
- } //while\r
- if (timedout) \r
- throw new SocketTimeoutException();\r
- } finally {\r
- if (timedout && key != null) {\r
- cancelKey(socket, key);\r
- }\r
- }\r
- return written;\r
- }\r
-\r
- private static void cancelKey(final NioChannel socket, final SelectionKey key) {\r
- socket.getPoller().addEvent(\r
- new Runnable() {\r
- public void run() {\r
- key.cancel();\r
- }\r
- });\r
- }\r
-\r
- /**\r
- * Performs a blocking read using the bytebuffer for data to be read\r
- * If the <code>selector</code> parameter is null, then it will perform a busy read that could\r
- * take up a lot of CPU cycles.\r
- * @param buf ByteBuffer - the buffer containing the data, we will read as until we have read at least one byte or we timed out\r
- * @param socket SocketChannel - the socket to write data to\r
- * @param selector Selector - the selector to use for blocking, if null then a busy read will be initiated\r
- * @param readTimeout long - the timeout for this read operation in milliseconds, -1 means no timeout\r
- * @return int - returns the number of bytes read\r
- * @throws EOFException if read returns -1\r
- * @throws SocketTimeoutException if the read times out\r
- * @throws IOException if an IO Exception occurs in the underlying socket logic\r
- */\r
- public static int read(ByteBuffer buf, NioChannel socket, long readTimeout) throws IOException {\r
- final SelectionKey key = socket.getIOChannel().keyFor(socket.getPoller().getSelector());\r
- int read = 0;\r
- boolean timedout = false;\r
- int keycount = 1; //assume we can write\r
- long time = System.currentTimeMillis(); //start the timeout timer\r
- try {\r
- while ( (!timedout) && read == 0) {\r
- if (keycount > 0) { //only read if we were registered for a read\r
- int cnt = socket.read(buf);\r
- if (cnt == -1)\r
- throw new EOFException();\r
- read += cnt;\r
- if (cnt > 0)\r
- break;\r
- }\r
- KeyAttachment att = (KeyAttachment) key.attachment();\r
- try {\r
- if ( att.getLatch()==null || att.getLatch().getCount()==0) att.startLatch(1);\r
- if ( att.interestOps() == 0) socket.getPoller().add(socket,SelectionKey.OP_READ);\r
- att.getLatch().await(readTimeout,TimeUnit.MILLISECONDS);\r
- }catch (InterruptedException ignore) {\r
- Thread.interrupted();\r
- }\r
- if ( att.getLatch()!=null && att.getLatch().getCount()> 0) {\r
- //we got interrupted, but we haven't received notification from the poller.\r
- keycount = 0;\r
- }else {\r
- //latch countdown has happened\r
- keycount = 1;\r
- att.resetLatch();\r
- }\r
- if (readTimeout > 0 && (keycount == 0))\r
- timedout = (System.currentTimeMillis() - time) >= readTimeout;\r
- } //while\r
- if (timedout)\r
- throw new SocketTimeoutException();\r
- } finally {\r
- if (timedout && key != null) {\r
- cancelKey(socket,key);\r
- }\r
- }\r
- return read;\r
- }\r
-\r
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.tomcat.util.net;
+
+import java.io.EOFException;
+import java.io.IOException;
+import java.net.SocketTimeoutException;
+import java.nio.ByteBuffer;
+import java.nio.channels.SelectionKey;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.tomcat.util.net.NioEndpoint.KeyAttachment;
+
+public class NioBlockingSelector {
+ public NioBlockingSelector() {
+ }
+
+ /**
+ * Performs a blocking write using the bytebuffer for data to be written
+ * If the <code>selector</code> parameter is null, then it will perform a busy write that could
+ * take up a lot of CPU cycles.
+ * @param buf ByteBuffer - the buffer containing the data, we will write as long as <code>(buf.hasRemaining()==true)</code>
+ * @param socket SocketChannel - the socket to write data to
+ * @param writeTimeout long - the timeout for this write operation in milliseconds, -1 means no timeout
+ * @return int - returns the number of bytes written
+ * @throws EOFException if write returns -1
+ * @throws SocketTimeoutException if the write times out
+ * @throws IOException if an IO Exception occurs in the underlying socket logic
+ */
+ public static int write(ByteBuffer buf, NioChannel socket, long writeTimeout) throws IOException {
+ SelectionKey key = socket.getIOChannel().keyFor(socket.getPoller().getSelector());
+ int written = 0;
+ boolean timedout = false;
+ int keycount = 1; //assume we can write
+ long time = System.currentTimeMillis(); //start the timeout timer
+ if (socket.getBufHandler().getWriteBuffer() != buf) {
+ socket.getBufHandler().getWriteBuffer().put(buf);
+ buf = socket.getBufHandler().getWriteBuffer();
+ }
+ try {
+ while ( (!timedout) && buf.hasRemaining()) {
+ if (keycount > 0) { //only write if we were registered for a write
+ int cnt = socket.write(buf); //write the data
+ if (cnt == -1)
+ throw new EOFException();
+ written += cnt;
+ if (cnt > 0) {
+ time = System.currentTimeMillis(); //reset our timeout timer
+ continue; //we successfully wrote, try again without a selector
+ }
+ }
+ if ( key == null ) throw new IOException("Key no longer registered");
+ KeyAttachment att = (KeyAttachment) key.attachment();
+ try {
+ if ( att.getLatch()==null || att.getLatch().getCount()==0) att.startLatch(1);
+ if ( att.interestOps() == 0) socket.getPoller().add(socket,SelectionKey.OP_WRITE);
+ att.getLatch().await(writeTimeout,TimeUnit.MILLISECONDS);
+ }catch (InterruptedException ignore) {
+ Thread.interrupted();
+ }
+ if ( att.getLatch()!=null && att.getLatch().getCount()> 0) {
+ //we got interrupted, but we haven't received notification from the poller.
+ keycount = 0;
+ }else {
+ //latch countdown has happened
+ keycount = 1;
+ att.resetLatch();
+ }
+
+ if (writeTimeout > 0 && (keycount == 0))
+ timedout = (System.currentTimeMillis() - time) >= writeTimeout;
+ } //while
+ if (timedout)
+ throw new SocketTimeoutException();
+ } finally {
+ if (timedout && key != null) {
+ cancelKey(socket, key);
+ }
+ }
+ return written;
+ }
+
+ private static void cancelKey(final NioChannel socket, final SelectionKey key) {
+ socket.getPoller().addEvent(
+ new Runnable() {
+ public void run() {
+ key.cancel();
+ }
+ });
+ }
+
+ /**
+ * Performs a blocking read using the bytebuffer for data to be read
+ * If the <code>selector</code> parameter is null, then it will perform a busy read that could
+ * take up a lot of CPU cycles.
+ * @param buf ByteBuffer - the buffer containing the data, we will read as until we have read at least one byte or we timed out
+ * @param socket SocketChannel - the socket to write data to
+ * @param selector Selector - the selector to use for blocking, if null then a busy read will be initiated
+ * @param readTimeout long - the timeout for this read operation in milliseconds, -1 means no timeout
+ * @return int - returns the number of bytes read
+ * @throws EOFException if read returns -1
+ * @throws SocketTimeoutException if the read times out
+ * @throws IOException if an IO Exception occurs in the underlying socket logic
+ */
+ public static int read(ByteBuffer buf, NioChannel socket, long readTimeout) throws IOException {
+ final SelectionKey key = socket.getIOChannel().keyFor(socket.getPoller().getSelector());
+ int read = 0;
+ boolean timedout = false;
+ int keycount = 1; //assume we can write
+ long time = System.currentTimeMillis(); //start the timeout timer
+ try {
+ while ( (!timedout) && read == 0) {
+ if (keycount > 0) { //only read if we were registered for a read
+ int cnt = socket.read(buf);
+ if (cnt == -1)
+ throw new EOFException();
+ read += cnt;
+ if (cnt > 0)
+ break;
+ }
+ KeyAttachment att = (KeyAttachment) key.attachment();
+ try {
+ if ( att.getLatch()==null || att.getLatch().getCount()==0) att.startLatch(1);
+ if ( att.interestOps() == 0) socket.getPoller().add(socket,SelectionKey.OP_READ);
+ att.getLatch().await(readTimeout,TimeUnit.MILLISECONDS);
+ }catch (InterruptedException ignore) {
+ Thread.interrupted();
+ }
+ if ( att.getLatch()!=null && att.getLatch().getCount()> 0) {
+ //we got interrupted, but we haven't received notification from the poller.
+ keycount = 0;
+ }else {
+ //latch countdown has happened
+ keycount = 1;
+ att.resetLatch();
+ }
+ if (readTimeout > 0 && (keycount == 0))
+ timedout = (System.currentTimeMillis() - time) >= readTimeout;
+ } //while
+ if (timedout)
+ throw new SocketTimeoutException();
+ } finally {
+ if (timedout && key != null) {
+ cancelKey(socket,key);
+ }
+ }
+ return read;
+ }
+
}
\ No newline at end of file
/*
- * Copyright 2005-2006 The Apache Software Foundation
- *
- * 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
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ * 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.apache.tomcat.util.net;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.tomcat.util.net;
import java.io.IOException;
-/*\r
- * Copyright 2005-2006 The Apache Software Foundation\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-package org.apache.tomcat.util.net;\r
-\r
-import java.net.Socket;\r
-import java.net.SocketException;\r
-/**\r
- * Properties that can be set in the <Connector> element\r
- * in server.xml. All properties are prefixed with "socket."\r
- * and are currently only working for the Nio connector\r
- *\r
- * @author Filip Hanik\r
- */\r
-public class SocketProperties {\r
- /**\r
- * Enable/disable key cache, this bounded cache stores\r
- * KeyAttachment objects to reduce GC\r
- * Default is 500\r
- * -1 is unlimited\r
- * 0 is disabled\r
- */\r
- protected int keyCache = 500;\r
- \r
- /**\r
- * Enable/disable socket processor cache, this bounded cache stores\r
- * SocketProcessor objects to reduce GC\r
- * Default is 500\r
- * -1 is unlimited\r
- * 0 is disabled\r
- */\r
- protected int processorCache = 500;\r
-\r
-\r
-\r
- /**\r
- * Enable/disable poller event cache, this bounded cache stores\r
- * PollerEvent objects to reduce GC for the poller\r
- * Default is 500 \r
- * -1 is unlimited\r
- * 0 is disabled\r
- * >0 the max number of objects to keep in cache.\r
- */\r
- protected int eventCache = 500;\r
-\r
-\r
- /**\r
- * Enable/disable direct buffers for the network buffers\r
- * Default value is enabled\r
- */\r
- protected boolean directBuffer = false;\r
- /**\r
- * Socket receive buffer size in bytes (SO_RCVBUF)\r
- * Default value is 25188\r
- */\r
- protected int rxBufSize = 25188;\r
- /**\r
- * Socket send buffer size in bytes (SO_SNDBUF)\r
- * Default value is 43800\r
- */\r
- protected int txBufSize = 43800;\r
-\r
- /**\r
- * The application read buffer size in bytes.\r
- * Default value is rxBufSize\r
- */\r
- protected int appReadBufSize = 8192;\r
-\r
- /**\r
- * The application write buffer size in bytes\r
- * Default value is txBufSize\r
- */\r
- protected int appWriteBufSize = 8192;\r
-\r
- /**\r
- * NioChannel pool size for the endpoint,\r
- * this value is how many channels\r
- * -1 means unlimited cached, 0 means no cache\r
- * Default value is 500\r
- */\r
- protected int bufferPool = 500;\r
-\r
-\r
- /**\r
- * Buffer pool size in bytes to be cached\r
- * -1 means unlimited, 0 means no cache\r
- * Default value is 100MB (1024*1024*100 bytes)\r
- */\r
- protected int bufferPoolSize = 1024*1024*100;\r
-\r
- /**\r
- * TCP_NO_DELAY option, default is true\r
- */\r
- protected boolean tcpNoDelay = true;\r
- /**\r
- * SO_KEEPALIVE option, default is false\r
- */\r
- protected boolean soKeepAlive = false;\r
- /**\r
- * OOBINLINE option, default is true\r
- */\r
- protected boolean ooBInline = true;\r
- /**\r
- * SO_REUSEADDR option, default is true\r
- */\r
- protected boolean soReuseAddress = true;\r
- /**\r
- * SO_LINGER option, default is true, paired with the <code>soLingerTime</code> value\r
- */\r
- protected boolean soLingerOn = true;\r
- /**\r
- * SO_LINGER option, default is 25 seconds.\r
- */\r
- protected int soLingerTime = 25;\r
- /**\r
- * SO_TIMEOUT option, default is 5000 milliseconds\r
- */\r
- protected int soTimeout = 5000;\r
- /**\r
- * Traffic class option, value between 0 and 255\r
- * IPTOS_LOWCOST (0x02)\r
- * IPTOS_RELIABILITY (0x04)\r
- * IPTOS_THROUGHPUT (0x08)\r
- * IPTOS_LOWDELAY (0x10)\r
- * Default value is 0x04 | 0x08 | 0x010\r
- */\r
- protected int soTrafficClass = 0x04 | 0x08 | 0x010;\r
- /**\r
- * Performance preferences according to\r
- * http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)\r
- * Default value is 1\r
- */\r
- protected int performanceConnectionTime = 1;\r
- /**\r
- * Performance preferences according to\r
- * http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)\r
- * Default value is 0\r
- */\r
- protected int performanceLatency = 0;\r
- /**\r
- * Performance preferences according to\r
- * http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)\r
- * Default value is 1\r
- */\r
- protected int performanceBandwidth = 1;\r
- private Socket properties;\r
-\r
- public void setProperties(Socket socket) throws SocketException{\r
- socket.setReceiveBufferSize(rxBufSize);\r
- socket.setSendBufferSize(txBufSize);\r
- socket.setOOBInline(ooBInline);\r
- socket.setKeepAlive(soKeepAlive);\r
- socket.setPerformancePreferences(performanceConnectionTime,performanceLatency,performanceBandwidth);\r
- socket.setReuseAddress(soReuseAddress);\r
- socket.setSoLinger(soLingerOn,soLingerTime);\r
- socket.setSoTimeout(soTimeout);\r
- socket.setTcpNoDelay(tcpNoDelay);\r
- socket.setTrafficClass(soTrafficClass);\r
- }\r
-\r
- public boolean getDirectBuffer() {\r
- return directBuffer;\r
- }\r
-\r
- public boolean getOoBInline() {\r
- return ooBInline;\r
- }\r
-\r
- public int getPerformanceBandwidth() {\r
- return performanceBandwidth;\r
- }\r
-\r
- public int getPerformanceConnectionTime() {\r
- return performanceConnectionTime;\r
- }\r
-\r
- public int getPerformanceLatency() {\r
- return performanceLatency;\r
- }\r
-\r
- public int getRxBufSize() {\r
- return rxBufSize;\r
- }\r
-\r
- public boolean getSoKeepAlive() {\r
- return soKeepAlive;\r
- }\r
-\r
- public boolean getSoLingerOn() {\r
- return soLingerOn;\r
- }\r
-\r
- public int getSoLingerTime() {\r
- return soLingerTime;\r
- }\r
-\r
- public boolean getSoReuseAddress() {\r
- return soReuseAddress;\r
- }\r
-\r
- public int getSoTimeout() {\r
- return soTimeout;\r
- }\r
-\r
- public int getSoTrafficClass() {\r
- return soTrafficClass;\r
- }\r
-\r
- public boolean getTcpNoDelay() {\r
- return tcpNoDelay;\r
- }\r
-\r
- public int getTxBufSize() {\r
- return txBufSize;\r
- }\r
-\r
- public int getBufferPool() {\r
- return bufferPool;\r
- }\r
-\r
- public int getBufferPoolSize() {\r
- return bufferPoolSize;\r
- }\r
-\r
- public int getEventCache() {\r
- return eventCache;\r
- }\r
-\r
- public int getKeyCache() {\r
- return keyCache;\r
- }\r
-\r
- public Socket getProperties() {\r
- return properties;\r
- }\r
-\r
- public int getAppReadBufSize() {\r
- return appReadBufSize;\r
- }\r
-\r
- public int getAppWriteBufSize() {\r
- return appWriteBufSize;\r
- }\r
-\r
- public int getProcessorCache() {\r
- return processorCache;\r
- }\r
-\r
- public int getDirectBufferPool() {\r
- return bufferPool;\r
- }\r
-\r
- public void setPerformanceConnectionTime(int performanceConnectionTime) {\r
- this.performanceConnectionTime = performanceConnectionTime;\r
- }\r
-\r
- public void setTxBufSize(int txBufSize) {\r
- this.txBufSize = txBufSize;\r
- }\r
-\r
- public void setTcpNoDelay(boolean tcpNoDelay) {\r
- this.tcpNoDelay = tcpNoDelay;\r
- }\r
-\r
- public void setSoTrafficClass(int soTrafficClass) {\r
- this.soTrafficClass = soTrafficClass;\r
- }\r
-\r
- public void setSoTimeout(int soTimeout) {\r
- this.soTimeout = soTimeout;\r
- }\r
-\r
- public void setSoReuseAddress(boolean soReuseAddress) {\r
- this.soReuseAddress = soReuseAddress;\r
- }\r
-\r
- public void setSoLingerTime(int soLingerTime) {\r
- this.soLingerTime = soLingerTime;\r
- }\r
-\r
- public void setSoKeepAlive(boolean soKeepAlive) {\r
- this.soKeepAlive = soKeepAlive;\r
- }\r
-\r
- public void setRxBufSize(int rxBufSize) {\r
- this.rxBufSize = rxBufSize;\r
- }\r
-\r
- public void setPerformanceLatency(int performanceLatency) {\r
- this.performanceLatency = performanceLatency;\r
- }\r
-\r
- public void setPerformanceBandwidth(int performanceBandwidth) {\r
- this.performanceBandwidth = performanceBandwidth;\r
- }\r
-\r
- public void setOoBInline(boolean ooBInline) {\r
- this.ooBInline = ooBInline;\r
- }\r
-\r
- public void setDirectBuffer(boolean directBuffer) {\r
- this.directBuffer = directBuffer;\r
- }\r
-\r
- public void setSoLingerOn(boolean soLingerOn) {\r
- this.soLingerOn = soLingerOn;\r
- }\r
-\r
- public void setBufferPool(int bufferPool) {\r
- this.bufferPool = bufferPool;\r
- }\r
-\r
- public void setBufferPoolSize(int bufferPoolSize) {\r
- this.bufferPoolSize = bufferPoolSize;\r
- }\r
-\r
- public void setEventCache(int eventCache) {\r
- this.eventCache = eventCache;\r
- }\r
-\r
- public void setKeyCache(int keyCache) {\r
- this.keyCache = keyCache;\r
- }\r
-\r
- public void setAppReadBufSize(int appReadBufSize) {\r
- this.appReadBufSize = appReadBufSize;\r
- }\r
-\r
- public void setAppWriteBufSize(int appWriteBufSize) {\r
- this.appWriteBufSize = appWriteBufSize;\r
- }\r
-\r
- public void setProcessorCache(int processorCache) {\r
- this.processorCache = processorCache;\r
- }\r
-\r
- public void setDirectBufferPool(int directBufferPool) {\r
- this.bufferPool = directBufferPool;\r
- }\r
-\r
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.tomcat.util.net;
+
+import java.net.Socket;
+import java.net.SocketException;
+/**
+ * Properties that can be set in the <Connector> element
+ * in server.xml. All properties are prefixed with "socket."
+ * and are currently only working for the Nio connector
+ *
+ * @author Filip Hanik
+ */
+public class SocketProperties {
+ /**
+ * Enable/disable key cache, this bounded cache stores
+ * KeyAttachment objects to reduce GC
+ * Default is 500
+ * -1 is unlimited
+ * 0 is disabled
+ */
+ protected int keyCache = 500;
+
+ /**
+ * Enable/disable socket processor cache, this bounded cache stores
+ * SocketProcessor objects to reduce GC
+ * Default is 500
+ * -1 is unlimited
+ * 0 is disabled
+ */
+ protected int processorCache = 500;
+
+
+
+ /**
+ * Enable/disable poller event cache, this bounded cache stores
+ * PollerEvent objects to reduce GC for the poller
+ * Default is 500
+ * -1 is unlimited
+ * 0 is disabled
+ * >0 the max number of objects to keep in cache.
+ */
+ protected int eventCache = 500;
+
+
+ /**
+ * Enable/disable direct buffers for the network buffers
+ * Default value is enabled
+ */
+ protected boolean directBuffer = false;
+ /**
+ * Socket receive buffer size in bytes (SO_RCVBUF)
+ * Default value is 25188
+ */
+ protected int rxBufSize = 25188;
+ /**
+ * Socket send buffer size in bytes (SO_SNDBUF)
+ * Default value is 43800
+ */
+ protected int txBufSize = 43800;
+
+ /**
+ * The application read buffer size in bytes.
+ * Default value is rxBufSize
+ */
+ protected int appReadBufSize = 8192;
+
+ /**
+ * The application write buffer size in bytes
+ * Default value is txBufSize
+ */
+ protected int appWriteBufSize = 8192;
+
+ /**
+ * NioChannel pool size for the endpoint,
+ * this value is how many channels
+ * -1 means unlimited cached, 0 means no cache
+ * Default value is 500
+ */
+ protected int bufferPool = 500;
+
+
+ /**
+ * Buffer pool size in bytes to be cached
+ * -1 means unlimited, 0 means no cache
+ * Default value is 100MB (1024*1024*100 bytes)
+ */
+ protected int bufferPoolSize = 1024*1024*100;
+
+ /**
+ * TCP_NO_DELAY option, default is true
+ */
+ protected boolean tcpNoDelay = true;
+ /**
+ * SO_KEEPALIVE option, default is false
+ */
+ protected boolean soKeepAlive = false;
+ /**
+ * OOBINLINE option, default is true
+ */
+ protected boolean ooBInline = true;
+ /**
+ * SO_REUSEADDR option, default is true
+ */
+ protected boolean soReuseAddress = true;
+ /**
+ * SO_LINGER option, default is true, paired with the <code>soLingerTime</code> value
+ */
+ protected boolean soLingerOn = true;
+ /**
+ * SO_LINGER option, default is 25 seconds.
+ */
+ protected int soLingerTime = 25;
+ /**
+ * SO_TIMEOUT option, default is 5000 milliseconds
+ */
+ protected int soTimeout = 5000;
+ /**
+ * Traffic class option, value between 0 and 255
+ * IPTOS_LOWCOST (0x02)
+ * IPTOS_RELIABILITY (0x04)
+ * IPTOS_THROUGHPUT (0x08)
+ * IPTOS_LOWDELAY (0x10)
+ * Default value is 0x04 | 0x08 | 0x010
+ */
+ protected int soTrafficClass = 0x04 | 0x08 | 0x010;
+ /**
+ * Performance preferences according to
+ * http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)
+ * Default value is 1
+ */
+ protected int performanceConnectionTime = 1;
+ /**
+ * Performance preferences according to
+ * http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)
+ * Default value is 0
+ */
+ protected int performanceLatency = 0;
+ /**
+ * Performance preferences according to
+ * http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)
+ * Default value is 1
+ */
+ protected int performanceBandwidth = 1;
+ private Socket properties;
+
+ public void setProperties(Socket socket) throws SocketException{
+ socket.setReceiveBufferSize(rxBufSize);
+ socket.setSendBufferSize(txBufSize);
+ socket.setOOBInline(ooBInline);
+ socket.setKeepAlive(soKeepAlive);
+ socket.setPerformancePreferences(performanceConnectionTime,performanceLatency,performanceBandwidth);
+ socket.setReuseAddress(soReuseAddress);
+ socket.setSoLinger(soLingerOn,soLingerTime);
+ socket.setSoTimeout(soTimeout);
+ socket.setTcpNoDelay(tcpNoDelay);
+ socket.setTrafficClass(soTrafficClass);
+ }
+
+ public boolean getDirectBuffer() {
+ return directBuffer;
+ }
+
+ public boolean getOoBInline() {
+ return ooBInline;
+ }
+
+ public int getPerformanceBandwidth() {
+ return performanceBandwidth;
+ }
+
+ public int getPerformanceConnectionTime() {
+ return performanceConnectionTime;
+ }
+
+ public int getPerformanceLatency() {
+ return performanceLatency;
+ }
+
+ public int getRxBufSize() {
+ return rxBufSize;
+ }
+
+ public boolean getSoKeepAlive() {
+ return soKeepAlive;
+ }
+
+ public boolean getSoLingerOn() {
+ return soLingerOn;
+ }
+
+ public int getSoLingerTime() {
+ return soLingerTime;
+ }
+
+ public boolean getSoReuseAddress() {
+ return soReuseAddress;
+ }
+
+ public int getSoTimeout() {
+ return soTimeout;
+ }
+
+ public int getSoTrafficClass() {
+ return soTrafficClass;
+ }
+
+ public boolean getTcpNoDelay() {
+ return tcpNoDelay;
+ }
+
+ public int getTxBufSize() {
+ return txBufSize;
+ }
+
+ public int getBufferPool() {
+ return bufferPool;
+ }
+
+ public int getBufferPoolSize() {
+ return bufferPoolSize;
+ }
+
+ public int getEventCache() {
+ return eventCache;
+ }
+
+ public int getKeyCache() {
+ return keyCache;
+ }
+
+ public Socket getProperties() {
+ return properties;
+ }
+
+ public int getAppReadBufSize() {
+ return appReadBufSize;
+ }
+
+ public int getAppWriteBufSize() {
+ return appWriteBufSize;
+ }
+
+ public int getProcessorCache() {
+ return processorCache;
+ }
+
+ public int getDirectBufferPool() {
+ return bufferPool;
+ }
+
+ public void setPerformanceConnectionTime(int performanceConnectionTime) {
+ this.performanceConnectionTime = performanceConnectionTime;
+ }
+
+ public void setTxBufSize(int txBufSize) {
+ this.txBufSize = txBufSize;
+ }
+
+ public void setTcpNoDelay(boolean tcpNoDelay) {
+ this.tcpNoDelay = tcpNoDelay;
+ }
+
+ public void setSoTrafficClass(int soTrafficClass) {
+ this.soTrafficClass = soTrafficClass;
+ }
+
+ public void setSoTimeout(int soTimeout) {
+ this.soTimeout = soTimeout;
+ }
+
+ public void setSoReuseAddress(boolean soReuseAddress) {
+ this.soReuseAddress = soReuseAddress;
+ }
+
+ public void setSoLingerTime(int soLingerTime) {
+ this.soLingerTime = soLingerTime;
+ }
+
+ public void setSoKeepAlive(boolean soKeepAlive) {
+ this.soKeepAlive = soKeepAlive;
+ }
+
+ public void setRxBufSize(int rxBufSize) {
+ this.rxBufSize = rxBufSize;
+ }
+
+ public void setPerformanceLatency(int performanceLatency) {
+ this.performanceLatency = performanceLatency;
+ }
+
+ public void setPerformanceBandwidth(int performanceBandwidth) {
+ this.performanceBandwidth = performanceBandwidth;
+ }
+
+ public void setOoBInline(boolean ooBInline) {
+ this.ooBInline = ooBInline;
+ }
+
+ public void setDirectBuffer(boolean directBuffer) {
+ this.directBuffer = directBuffer;
+ }
+
+ public void setSoLingerOn(boolean soLingerOn) {
+ this.soLingerOn = soLingerOn;
+ }
+
+ public void setBufferPool(int bufferPool) {
+ this.bufferPool = bufferPool;
+ }
+
+ public void setBufferPoolSize(int bufferPoolSize) {
+ this.bufferPoolSize = bufferPoolSize;
+ }
+
+ public void setEventCache(int eventCache) {
+ this.eventCache = eventCache;
+ }
+
+ public void setKeyCache(int keyCache) {
+ this.keyCache = keyCache;
+ }
+
+ public void setAppReadBufSize(int appReadBufSize) {
+ this.appReadBufSize = appReadBufSize;
+ }
+
+ public void setAppWriteBufSize(int appWriteBufSize) {
+ this.appWriteBufSize = appWriteBufSize;
+ }
+
+ public void setProcessorCache(int processorCache) {
+ this.processorCache = processorCache;
+ }
+
+ public void setDirectBufferPool(int directBufferPool) {
+ this.bufferPool = directBufferPool;
+ }
+
}
\ No newline at end of file
endpoint.poll.limitedpollsize=Failed to create poller with specified size of {0}
endpoint.poll.initfail=Poller creation failed
endpoint.poll.fail=Critical poller failure (restarting poller): [{0}] {1}
+endpoint.poll.fail=Socket [{0}] poll event: [{1}] {2}
endpoint.poll.error=Unexpected poller error
endpoint.process.fail=Error allocating socket processor
endpoint.sendfile.error=Unexpected sendfile error