Skip to content

Commit

Permalink
Max search interval should be configured in seconds.
Browse files Browse the repository at this point in the history
This makes it consistent with the configuration in EPICS base.
  • Loading branch information
willrogers committed Apr 25, 2018
1 parent 58dcb34 commit 8a43715
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 37 deletions.
18 changes: 9 additions & 9 deletions src/core/JCALibrary.properties
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Default JCALibrary properties.

com.cosylab.epics.caj.CAJContext.logger = com.cosylab.epics.caj.CAJContext
com.cosylab.epics.caj.CAJContext.addr_list =
com.cosylab.epics.caj.CAJContext.auto_addr_list = true
com.cosylab.epics.caj.CAJContext.connection_timeout = 30.0
com.cosylab.epics.caj.CAJContext.beacon_period = 15.0
com.cosylab.epics.caj.CAJContext.repeater_port = 5065
com.cosylab.epics.caj.CAJContext.server_port = 5064
com.cosylab.epics.caj.CAJContext.max_array_bytes = 16384
com.cosylab.epics.caj.CAJContext.max_search_interval_ms = 300000
com.cosylab.epics.caj.CAJContext.logger = com.cosylab.epics.caj.CAJContext
com.cosylab.epics.caj.CAJContext.addr_list =
com.cosylab.epics.caj.CAJContext.auto_addr_list = true
com.cosylab.epics.caj.CAJContext.connection_timeout = 30.0
com.cosylab.epics.caj.CAJContext.beacon_period = 15.0
com.cosylab.epics.caj.CAJContext.repeater_port = 5065
com.cosylab.epics.caj.CAJContext.server_port = 5064
com.cosylab.epics.caj.CAJContext.max_array_bytes = 16384
com.cosylab.epics.caj.CAJContext.max_search_interval = 300
com.cosylab.epics.caj.impl.reactor.lf.LeaderFollowersThreadPool.thread_pool_size = 5
18 changes: 9 additions & 9 deletions src/core/com/cosylab/epics/caj/CAJContext.java
Original file line number Diff line number Diff line change
Expand Up @@ -179,9 +179,9 @@ public class CAJContext extends Context implements CAContext, CAJConstants, Conf
protected int maxArrayBytes = 16384;

/**
* Maximum interval between CA search broadcasts. Default is 5 minutes.
* Maximum interval in seconds between CA search broadcasts. Default is 5 minutes.
*/
protected int maxSearchIntervalMs = 1000 * 60 * 5;
protected float maxSearchInterval = (float) 60.0 * 5;

/**
* List of context message listeners.
Expand Down Expand Up @@ -442,7 +442,7 @@ protected void loadConfiguration()
if (tmp != null) maxArrayBytes = Integer.parseInt(tmp);

tmp = System.getenv("EPICS_CA_MAX_SEARCH_PERIOD");
if (tmp != null) maxSearchIntervalMs = Integer.parseInt(tmp);
if (tmp != null) maxSearchInterval = Float.parseFloat(tmp);
}
else
{
Expand All @@ -456,7 +456,7 @@ protected void loadConfiguration()
repeaterPort = jcaLibrary.getPropertyAsInt(contextClassName + ".repeater_port", repeaterPort);
serverPort = jcaLibrary.getPropertyAsInt(contextClassName + ".server_port", serverPort);
maxArrayBytes = jcaLibrary.getPropertyAsInt(contextClassName + ".max_array_bytes", maxArrayBytes);
maxSearchIntervalMs = jcaLibrary.getPropertyAsInt(contextClassName + ".max_search_interval_ms", maxSearchIntervalMs);
maxSearchInterval = jcaLibrary.getPropertyAsFloat(contextClassName + ".max_search_interval", maxSearchInterval);
eventDispatcherClassName = jcaLibrary.getProperty(contextClassName + ".event_dispatcher");

// load CAJ specific configuration (overrides default)
Expand All @@ -468,7 +468,7 @@ protected void loadConfiguration()
repeaterPort = jcaLibrary.getPropertyAsInt(thisClassName + ".repeater_port", repeaterPort);
serverPort = jcaLibrary.getPropertyAsInt(thisClassName + ".server_port", serverPort);
maxArrayBytes = jcaLibrary.getPropertyAsInt(thisClassName + ".max_array_bytes", maxArrayBytes);
maxSearchIntervalMs = jcaLibrary.getPropertyAsInt(thisClassName + ".max_search_interval_ms", maxSearchIntervalMs);
maxSearchInterval = jcaLibrary.getPropertyAsFloat(thisClassName + ".max_search_interval", maxSearchInterval);
}

eventDispatcherClassName = jcaLibrary.getProperty(thisClassName + ".event_dispatcher", eventDispatcherClassName);
Expand Down Expand Up @@ -542,9 +542,9 @@ public void configure(Configuration configuration)

// max. search interval
try {
maxSearchIntervalMs = configuration.getChild("max_search_interval_ms", false).getValueAsInteger();
maxSearchInterval = configuration.getChild("max_search_interval", false).getValueAsFloat();
} catch(Exception ex) {
maxSearchIntervalMs = configuration.getAttributeAsInteger("max_search_interval_ms", maxSearchIntervalMs);
maxSearchInterval = configuration.getAttributeAsFloat("max_search_interval", maxSearchInterval);
}

// event dispathcer
Expand Down Expand Up @@ -1279,7 +1279,7 @@ public void printInfo(PrintStream out) throws IllegalStateException {
out.println("REPEATER_PORT : " + repeaterPort);
out.println("SERVER_PORT : " + serverPort);
out.println("MAX_ARRAY_BYTES : " + maxArrayBytes);
out.println("MAX_SEARCH_INTERVAL_MS : " + maxSearchIntervalMs);
out.println("MAX_SEARCH_INTERVAL : " + maxSearchInterval);
out.println("EVENT_DISPATCHER: " + eventDispatcher);
out.print("STATE : ");
switch (state)
Expand Down Expand Up @@ -1390,7 +1390,7 @@ public int getBroadcastPort() {
* Get max. search interval
* @return max. search interval
*/
public int getMaxSearchIntervalMs() { return maxSearchIntervalMs; }
public float getMaxSearchInterval() { return maxSearchInterval; }

/**
* Get event dispatcher.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,8 @@ public ChannelSearchManager(CAJContext context)
this.context = context;

minSendInterval = MIN_SEND_INTERVAL_MS_DEFAULT;
maxSendInterval = context.getMaxSearchIntervalMs();
// Convert from seconds to milliseconds.
maxSendInterval = (long) (context.getMaxSearchInterval() * 1000);
intervalMultiplier = INTERVAL_MULTIPLIER_DEFAULT;

// create and initialize send buffer
Expand Down
18 changes: 9 additions & 9 deletions src/core/gov/aps/jca/JCALibrary.properties
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Default JCALibrary properties.

com.cosylab.epics.caj.CAJContext.logger = com.cosylab.epics.caj.CAJContext
com.cosylab.epics.caj.CAJContext.addr_list =
com.cosylab.epics.caj.CAJContext.auto_addr_list = true
com.cosylab.epics.caj.CAJContext.connection_timeout = 30.0
com.cosylab.epics.caj.CAJContext.beacon_period = 15.0
com.cosylab.epics.caj.CAJContext.repeater_port = 5065
com.cosylab.epics.caj.CAJContext.server_port = 5064
com.cosylab.epics.caj.CAJContext.max_array_bytes = 16384
com.cosylab.epics.caj.CAJContext.max_search_interval_ms = 300000
com.cosylab.epics.caj.CAJContext.logger = com.cosylab.epics.caj.CAJContext
com.cosylab.epics.caj.CAJContext.addr_list =
com.cosylab.epics.caj.CAJContext.auto_addr_list = true
com.cosylab.epics.caj.CAJContext.connection_timeout = 30.0
com.cosylab.epics.caj.CAJContext.beacon_period = 15.0
com.cosylab.epics.caj.CAJContext.repeater_port = 5065
com.cosylab.epics.caj.CAJContext.server_port = 5064
com.cosylab.epics.caj.CAJContext.max_array_bytes = 16384
com.cosylab.epics.caj.CAJContext.max_search_interval = 300
com.cosylab.epics.caj.impl.reactor.lf.LeaderFollowersThreadPool.thread_pool_size = 5
18 changes: 9 additions & 9 deletions test/com/cosylab/epics/caj/cas/test/JCALibrary.properties
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Default JCALibrary properties.

com.cosylab.epics.caj.CAJContext.logger = com.cosylab.epics.caj.CAJContext
com.cosylab.epics.caj.CAJContext.addr_list =
com.cosylab.epics.caj.CAJContext.auto_addr_list = true
com.cosylab.epics.caj.CAJContext.connection_timeout = 30.0
com.cosylab.epics.caj.CAJContext.beacon_period = 15.0
com.cosylab.epics.caj.CAJContext.repeater_port = 5065
com.cosylab.epics.caj.CAJContext.server_port = 5064
com.cosylab.epics.caj.CAJContext.max_array_bytes = 16384
com.cosylab.epics.caj.CAJContext.max_search_interval_ms = 300000
com.cosylab.epics.caj.CAJContext.logger = com.cosylab.epics.caj.CAJContext
com.cosylab.epics.caj.CAJContext.addr_list =
com.cosylab.epics.caj.CAJContext.auto_addr_list = true
com.cosylab.epics.caj.CAJContext.connection_timeout = 30.0
com.cosylab.epics.caj.CAJContext.beacon_period = 15.0
com.cosylab.epics.caj.CAJContext.repeater_port = 5065
com.cosylab.epics.caj.CAJContext.server_port = 5064
com.cosylab.epics.caj.CAJContext.max_array_bytes = 16384
com.cosylab.epics.caj.CAJContext.max_search_interval = 300
com.cosylab.epics.caj.impl.reactor.lf.LeaderFollowersThreadPool.thread_pool_size = 5

0 comments on commit 8a43715

Please sign in to comment.