001package edu.wpi.first.wpilibj.networktables2.stream;
002
003import java.io.*;
004
005/**
006 * An object that will provide the IOStream of clients to a NetworkTable Server
007 * 
008 * @author mwills
009 *
010 */
011public interface IOStreamProvider {
012        /**
013         * 
014         * @return a new IOStream normally from a server
015         * @throws IOException
016         */
017        IOStream accept() throws IOException;
018        /**
019         * Close the source of the IOStreams. {@link #accept()} should not be called after this is called
020         * @throws IOException
021         */
022        void close() throws IOException;
023}