| package org.apache.commons.jcs3.auxiliary.lateral.behavior; |
| |
| /* |
| * 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. |
| */ |
| |
| import org.apache.commons.jcs3.auxiliary.AuxiliaryCacheAttributes; |
| |
| /** |
| * This interface defines configuration options common to lateral cache plugins. |
| * <p> |
| * TODO it needs to be trimmed down. The old version had features for every lateral. Now, the |
| * individual laterals have their own specific attributes interfaces. |
| */ |
| public interface ILateralCacheAttributes |
| extends AuxiliaryCacheAttributes |
| { |
| enum Type |
| { |
| /** HTTP type */ |
| HTTP, // 1 |
| |
| /** UDP type */ |
| UDP, // 2 |
| |
| /** TCP type */ |
| TCP, // 3 |
| |
| /** XMLRPC type */ |
| XMLRPC // 4 |
| } |
| |
| /** |
| * The number of elements the zombie queue will hold. This queue is used to store events if we |
| * loose our connection with the server. |
| */ |
| int DEFAULT_ZOMBIE_QUEUE_MAX_SIZE = 1000; |
| |
| /** |
| * Sets the httpServer attribute of the ILateralCacheAttributes object |
| * <p> |
| * @param val The new httpServer value |
| */ |
| void setHttpServer( String val ); |
| |
| /** |
| * Gets the httpServer attribute of the ILateralCacheAttributes object |
| * <p> |
| * @return The httpServer value |
| */ |
| String getHttpServer(); |
| |
| /** |
| * Sets the httpListenerPort attribute of the ILateralCacheAttributes object |
| * <p> |
| * @param val The new tcpListenerPort value |
| */ |
| void setHttpListenerPort( int val ); |
| |
| /** |
| * Gets the httpListenerPort attribute of the ILateralCacheAttributes object |
| * <p> |
| * @return The httpListenerPort value |
| */ |
| int getHttpListenerPort(); |
| |
| /** |
| * Sets the httpServers attribute of the LateralCacheAttributes object |
| * <p> |
| * @param val The new httpServers value |
| */ |
| void setHttpServers( String val ); |
| |
| /** |
| * Gets the httpSrvers attribute of the LateralCacheAttributes object |
| * <p> |
| * @return The httpServers value |
| */ |
| String getHttpServers(); |
| |
| /** |
| * Sets the udpMulticastAddr attribute of the ILateralCacheAttributes object |
| * <p> |
| * @param val The new udpMulticastAddr value |
| */ |
| void setUdpMulticastAddr( String val ); |
| |
| /** |
| * Gets the udpMulticastAddr attribute of the ILateralCacheAttributes object |
| * <p> |
| * @return The udpMulticastAddr value |
| */ |
| String getUdpMulticastAddr(); |
| |
| /** |
| * Sets the udpMulticastPort attribute of the ILateralCacheAttributes object |
| * <p> |
| * @param val The new udpMulticastPort value |
| */ |
| void setUdpMulticastPort( int val ); |
| |
| /** |
| * Gets the udpMulticastPort attribute of the ILateralCacheAttributes object |
| * <p> |
| * @return The udpMulticastPort value |
| */ |
| int getUdpMulticastPort(); |
| |
| /** |
| * Sets the transmissionType attribute of the ILateralCacheAttributes object |
| * <p> |
| * @param val The new transmissionType value |
| */ |
| void setTransmissionType( Type val ); |
| |
| /** |
| * Gets the transmissionType attribute of the ILateralCacheAttributes object |
| * <p> |
| * @return The transmissionType value |
| */ |
| Type getTransmissionType(); |
| |
| /** |
| * Sets the transmissionTypeName attribute of the ILateralCacheAttributes object |
| * <p> |
| * @param val The new transmissionTypeName value |
| */ |
| void setTransmissionTypeName( String val ); |
| |
| /** |
| * Gets the transmissionTypeName attribute of the ILateralCacheAttributes object |
| * <p> |
| * @return The transmissionTypeName value |
| */ |
| String getTransmissionTypeName(); |
| |
| /** |
| * Sets the putOnlyMode attribute of the ILateralCacheAttributes. When this is true the lateral |
| * cache will only issue put and remove order and will not try to retrieve elements from other |
| * lateral caches. |
| * <p> |
| * @param val The new transmissionTypeName value |
| */ |
| void setPutOnlyMode( boolean val ); |
| |
| /** |
| * @return The outgoingOnlyMode value. Stops gets from going remote. |
| */ |
| boolean getPutOnlyMode(); |
| |
| /** |
| * @param receive The receive to set. |
| */ |
| void setReceive( boolean receive ); |
| |
| /** |
| * Should a listener be created. By default this is true. |
| * <p> |
| * If this is false the lateral will connect to others but it will not create a listener to |
| * receive. |
| * <p> |
| * It is possible if two laterals are misconfigured that lateral A may have a region R1 that is |
| * not configured for the lateral but another is. And if cache B has region R1 configured for |
| * lateral distribution, A will get messages for R1 but not send them. |
| * <p> |
| * @return true if we should have a listener connection |
| */ |
| boolean isReceive(); |
| |
| /** |
| * The number of elements the zombie queue will hold. This queue is used to store events if we |
| * loose our connection with the server. |
| * <p> |
| * @param zombieQueueMaxSize The zombieQueueMaxSize to set. |
| */ |
| void setZombieQueueMaxSize( int zombieQueueMaxSize ); |
| |
| /** |
| * The number of elements the zombie queue will hold. This queue is used to store events if we |
| * loose our connection with the server. |
| * <p> |
| * @return Returns the zombieQueueMaxSize. |
| */ |
| int getZombieQueueMaxSize(); |
| } |