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

ca.uhn.hl7v2.protocol.StreamSource Maven / Gradle / Ivy

/*
 * Created on 16-Apr-2004
 */
package ca.uhn.hl7v2.protocol;

import java.io.InputStream;
import java.io.OutputStream;

/**
 * A source of input and output streams for use with stream-based 
 * TransportLayers.  Implementations should contain the 
 * necessary information for reconnecting streams as necessary.  For 
 * example a ServerSocket-based implementation should be able to listen  
 * for fresh connections and get new streams from them (this must be 
 * done when refresh() is called).  
 *  
 * @author Bryan Tripp
 * @version $Revision: 1.1 $ updated on $Date: 2007-02-19 02:24:38 $ by $Author: jamesagnew $
 */
public interface StreamSource {

    /**
     * Gets new streams.  This should be called only if one of the streams 
     * is dead.  
     * @throws TransportException
     */
    public void connect() throws TransportException;
    
    /**
     * Closes streams and underlying connections.  
     * @throws TransportException
     */
    public void disconnect() throws TransportException;
    
    /**
     * @return the stream to which we write outbound messages.   
     * @throws TransportException
     */
    public OutputStream getOutboundStream() throws TransportException;

    /**
     * @return the stream to which we expect the remote server to send messages.  
     * @throws TransportException
     */
    public InputStream getInboundStream() throws TransportException;
    
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy