All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.cosylab.epics.caj.impl.CAContext Maven / Gradle / Ivy

Go to download

JCA is an EPICS Channel Access library for Java. For more information concerning EPICS or Channel Access please refer to the <a href="http://www.aps.anl.gov/epics">EPICS Web pages</a> or read the <a href="http://www.aps.anl.gov/epics/base/R3-14/8-docs/CAref.html">Channel Access manual (3.14)</a>. <p>This module also includes CAJ, A 100% pure Java implementation of the EPICS Channel Access library.</p>

There is a newer version: 2.4.2
Show newest version
/*
 * Copyright (c) 2004 by Cosylab
 *
 * The full license specifying the redistribution, modification, usage and other
 * rights and obligations is included with the distribution of this project in
 * the file "LICENSE-CAJ". If the license is not included visit Cosylab web site,
 * .
 *
 * THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, NOT EVEN THE
 * IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR OF THIS SOFTWARE, ASSUMES
 * _NO_ RESPONSIBILITY FOR ANY CONSEQUENCE RESULTING FROM THE USE, MODIFICATION,
 * OR REDISTRIBUTION OF THIS SOFTWARE.
 */

package com.cosylab.epics.caj.impl;

import com.cosylab.epics.caj.impl.reactor.Reactor;
import com.cosylab.epics.caj.impl.reactor.lf.LeaderFollowersThreadPool;
import com.cosylab.epics.caj.util.Timer;
import com.cosylab.epics.caj.util.logging.LoggerProvider;

/**
 * Interface defining CAContext (logging, reactor, thread-pool, etc.).
 * @author Matej Sekoranja
 * @version $id$
 */
public interface CAContext extends LoggerProvider {

	/**
	 * Get context reactor.
	 * @return context reactor.
	 */
	public Reactor getReactor();

    /**
     * Get LF thread pool.
     * @return LF thread pool, can be null if disabled.
     */
    public LeaderFollowersThreadPool getLeaderFollowersThreadPool();

	/**
	 * Get CA transport (virtual circuit) registry.
	 * @return CA transport (virtual circuit) registry.
	 */
	public CATransportRegistry getTransportRegistry();

    /**
     * Get cached byte allocator.
     * @return cached byte allocator.
     */
    public CachedByteBufferAllocator getCachedBufferAllocator();

	/**
	 * Get timer.
	 * @return timer.
	 */
	public Timer getTimer();

	/**
	 * Get CA server port.
	 * @return CA server port.
	 */
	public int getServerPort();

	/**
	 * Get CA broadcast (send) port.
	 * @return CA broadcast (send) port.
	 */
	public int getBroadcastPort();

	/**
	 * Broadcast transport.
	 * @return broadcast transport.
	 */
	public BroadcastTransport getBroadcastTransport();

	/**
	 * Invalidate last (UDP) received sequence.
	 */
	public void invalidateLastReceivedSequence();
	
	/**
	 * Get user name (used to report to the server).
	 * @return String username
	 */
	public String getUserName();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy