Package org.ka2ddo.yaac.io

This package contains classes managing and controlling I/O operations between YAAC and the various sensors and communications devices the core distribution of YAAC can talk to.

See:
          Description

Interface Summary
BeaconChangeListener This interface declares a callback method for objects who wish to be notified when the local station's beacon definition is changed.
NeedsAppVersionInfoIfc This interface tags a Connector that requires to be told its containing application's name and version.
ObjectEditorSettingsIfc This interface permits an ObjectReportTransmitter to obtain extra information from an ObjectEditor that is not stored in the ObjectReport message.
ObjectReportTransmitter This interface defines a callback from the ObjectEditor, delivering an ObjectReport to be transmitted.
PortEventListener This interface defines a listener that wants to know the details of when a port is receiving or sending frames of data.
PortFailureReporterIfc This interface declares the control methods of an abstract GUI object used by the I/O system to report an unsolicited port failure.
PortFailureReportListener This interface defines a callback so a PortFailureReporterIfc implementer can tell the requestor that the GUI object no longer exists (user disposed of it) and should not be used any more.
PortMgmtListener Implementers of this interface can be notified of state changes of the I/O ports used by YAAC.
PortStatusListener Implementers of this interface can be notified of state changes of the I/O ports used by YAAC.
SendableMessageListener Implementers of this interface will be informed when the outgoing locally originated message queue is updated.
 

Class Summary
AbstractGpsConnector This class provides common functionality for PortConnectors that receive NMEA-0183 data from some kind of connection to a GPS receiver.
AGWPEConnector This class defines a driver for using the Windows AGWPE software TNC/multiplexer with YAAC, or emulations thereof such as software TNCs like as Sivan Toledo's soundmodem or the DireWolf software.
AprsIsConnector This class defines a potentially bidirectional connection to an APRS-IS server.
ArbitraryDataInputStream This class provides an adapter to convert an arbitrary DataInput implementer into a sequential input stream.
BeaconData This class contains all the data associated with a beacon message.
CloseableWhileReadingSerialInputStream This class is a wrapper around a RXTX SerialPort's SerialInputStream, so that the SerialPort can be closed while a blocking read is outstanding and properly abort the read.
CountingInputStream InputStream to count the number of bytes read from the input, so as to drive a progress bar.
CountingOutputStream This class is a FilterOutputStream that counts the number of bytes written to the lower-level OutputStream.
ExternalMessageSourceConnector This implements a TCP or UDP socket for receiving ASCII-text messages to transmit to the RF and APRS-IS networks for APRS.
FileTNCConnector This class implements a port to a TNC connected by an arbitrary file using KISS over asynchronous serial data.
GpsdConnector This class provides a driver to connect YAAC to a gpsd daemon, so that YAAC can use a shared GPS receiver, or non-standard hardware that acts like a GPS receiver or speaks protocols other than NMEA 0183.
KenwoodConnector This class defines a connector for communicating with a Kenwood TM-D710 (or equivalent) radio through its COM port when the radio is in APRS (not packet TNC) mode.
KissEscapeOutputStream This filtering OutputStream adds the KISS protocol escape sequences for the body of a KISS frame.
KissOverTcpConnector This class defines the port driver for connecting to a KISS TNC over a TCP/IP network connection.
MultiBufferedRandomAccessFile This class provides a cached, buffered variant of RandomAccessFile, so that sequential reads from a starting point can be done with minimal JNI calls and actual kernel calls.
NonshareableBufferedDataInputStream This class is a merged copy of java.io.BufferedInputStream and java.io.DataInputStream, but without the synchronization, which restricts instances of this class to use in a single thread.
NonshareableBufferedDataOutputStream This class is a merged duplicate of java.io.BufferedOutputStream and java.io.DataOutputStream, except that its methods are not synchronized, limiting its use to a single thread.
NonshareableBufferedInputStream This class is a copy of java.io.BufferedInputStream, but without the synchronization, which restricts instances of this class to use in a single thread.
NonshareableBufferedOutputStream This class is a duplicate of java.io.BufferedOutputStream, except that its methods are not synchronized, limiting its use to a single thread.
NonshareableBufferedReader This class implements a version of BufferedReader that can only be used by one thread.
NonshareableByteArrayOutputStream This class is a stripped-down version of the JRE's ByteArrayOutputStream, which allows direct access to the underlying byte array instead of making copies, is not synchronized (for speed), and doesn't do String conversions.
NonshareableCountingBufferedDataInputStream This class is a merged copy of java.io.BufferedInputStream and java.io.DataInputStream, but without the synchronization, which restricts instances of this class to use in a single thread.
NonshareableCountingBufferedOutputStream This class is a duplicate of java.io.BufferedOutputStream, except that its methods are not synchronized, limiting its use to a single thread.
NonshareableDataInputStream This class is a duplicate of java.io.DataInputStream, without the byte counter and the synchronization, so it can only be used by a single thread.
NonshareableDataOutputStream This class is a duplicate of java.io.DataOutputStream, without the byte counter and the synchronization, so it can only be used by a single thread.
NonshareableDoubleBufferedOutputStream This class is a duplicate of java.io.BufferedOutputStream, except that its methods are not synchronized, limiting its use to a single thread.
ObjectReportSender This class extends SendableMessageWrapper to cancel transmission when the ObjectReport is overridden by another source (i.e., taken over).
OuternetConnector This class implements a polling file reader for files accessed over HTTP from a webserver such as an OUTERNET receiver, where the file contains APRS messages in TNC2 ASCII/UTF-8 format.
PipedReader  
PipedWriter  
PortConfig This class contains all the parameters for configuring a PortConnector in this application, and the encoding and decoding code for saving its value in the persisted configuration data.
PortConfig.Cfg Port-type-specific configuration parameters for a PortConnector.
PortConnector This class defines the generic API for an object that connects a bidirectional real-time data stream to this application.
PortManager This class manages the PortConnectors opened by YAAC.
RandomOutputStream This class provides a sequential OutputStream wrapper around a RandomAccessFile.
SendableMessageWrapper This class wraps a SendableMessage in a AX25Frame suitable for transmission.
SerialGpsConnector This class implements a port to a GPS receiver connected by a serial port over RS-232C (or USB emulating a RS-232C serial port).
SerialTNCConnector This class implements a port to a TNC connected by a serial port using KISS over asynchronous serial data via RS-232C or USB.
SerialWeatherConnector This class implements a driver to listen to serial-port-connected weather stations.
SslAprsIsConnector This class defines a potentially bidirectional connection to an APRS-IS server, using SSL client authentication rather than passcodes to connect.
StatusData This class defines all the data for transmitting an APRS Status message for this station.
TNCConnector This class defines a generic bidirectional TNC interface port, which can both send and receive AX.25 frames.
Transmitter This class handles scheduling transmit requests to the various ports.
Transmitter.Close Class to shut down the Transmitter.
TransmittingPortConnector This class extends the basic capabilities of being a port connector by specifying the methods usable to transmit AX.25 frame through this port.
WxnowTxtConnector This class defines a "port" for periodically reading weather data from a wxnow.txt file, as provided by other software used for reading Davis weather stations.
 

Enum Summary
BeaconData.BeaconType Enum defining the APRS message formats that YAAC can use for position beacons.
BeaconData.PositionType Enum specifying the specific APRS Position Report message type code used for BeaconType.POSITION and BeaconType.COMPRESSED beacon messages in APRS.
KissEscapeOutputStream.RcvState States of a KISS frame decoder.
 

Package org.ka2ddo.yaac.io Description

This package contains classes managing and controlling I/O operations between YAAC and the various sensors and communications devices the core distribution of YAAC can talk to. This includes:

It also provides optimized variants of standard Java I/O classes to improve YAAC's CPU and memory heap performance.