Package org.ka2ddo.yaac.io
Class UdpSubmitConnector
java.lang.Object
org.ka2ddo.ax25.Connector
org.ka2ddo.yaac.io.PortConnector
org.ka2ddo.yaac.io.TNCConnector
org.ka2ddo.yaac.io.UdpSubmitConnector
- All Implemented Interfaces:
TransmittingConnector
,NeedsAppVersionInfoIfc
public class UdpSubmitConnector
extends TNCConnector
implements TransmittingConnector, NeedsAppVersionInfoIfc
This class provides a PortConnector for write-only access to the APRS-IS via UDP submit.
- Author:
- Andrew Pavlin, KA2DDO
-
Nested Class Summary
Nested classes/interfaces inherited from class org.ka2ddo.yaac.io.PortConnector
PortConnector.PortStatsType
Nested classes/interfaces inherited from class org.ka2ddo.ax25.Connector
Connector.ConnectorType, Connector.PortStats
-
Field Summary
Modifier and TypeFieldDescriptionstatic final Set<PortConfig.Fields>
Set of PortConfig field identifiers for fields that should not be copied from another system and should therefore be blanked out when copying configuration files.static final String
Specify the fully-qualified platform-wildcarded class name for the editor for AprsIsConnector.static final Map<PortConfig.Fields,
PortConfig.RequireHints> List of PortConfig field identifiers that are mandated for this port type to work, and the ResourceBundle key to prompt for a value if missing.static final String
Specify the PortConnector type name for UdpSubmitConnector.Fields inherited from class org.ka2ddo.yaac.io.TNCConnector
RF_SEND_TIME_PER_BYTE_1200, RF_SEND_TIME_PER_BYTE_300, RF_SEND_TIME_PER_BYTE_9600, timeslotTimer
Fields inherited from class org.ka2ddo.yaac.io.PortConnector
currentCfg, portConfig
Fields inherited from class org.ka2ddo.ax25.Connector
CAP_ADSB, CAP_FAST_RF_9600, CAP_FULL_DUPLEX, CAP_GPS_DATA, CAP_HF, CAP_IGATE, CAP_KENWOOD_CMD, CAP_OPENTRAC, CAP_RAW_AX25, CAP_RCV_PACKET_DATA, CAP_RF, CAP_SUBCLIENT, CAP_WAYPOINT_SENDER, CAP_WEATHER, CAP_XMT_PACKET_DATA, stats
-
Constructor Summary
ConstructorDescriptionCreate an uninitialized instance of UdpSubmitConnector. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Shut down this port connection.void
configure
(PortConfig config) Update the configuration of the connector to match the updated setup.static void
Set the correct defaults for a port in process of being created.int
Get the bitmask of AX.25 protocols supported by this port.int
Specify what capabilities a port of this type has.Return the address of the remote APRS-IS server this port is connected to.boolean
isOpen()
Reports whether this Connector has an open connection to its port.void
Transmit an AX.25 frame through this port.void
setAppVersion
(String name, String version) Sets the name and version of the containing application.toString()
Returns a string representation of the object.Methods inherited from class org.ka2ddo.yaac.io.TNCConnector
convertTNC2FormatToAX25Frame, getBitRate, getCallsign, getPortAddress, getRFSendTimePerByte, setPortAddress
Methods inherited from class org.ka2ddo.yaac.io.PortConnector
addPortEventListener, createPort, fillinConfigDefaultsForType, fireFailed, fireReceiving, fireTransmitting, getCollectedStatsTypes, getPortConfig, getPortConnectorClass, getPortConnectorInactivityTimer, getStats, portConnectorClasses, portTypeNames, registerPortConnectorType, removePortEventListener, setPortConfig
Methods inherited from class org.ka2ddo.ax25.Connector
addFrameListener, finalize, fireConsumeFrame, fireConsumeFrame, getStats, getType, hasCapability, removeFrameListener
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.ka2ddo.ax25.TransmittingConnector
getCallsign, getStats, hasCapability
-
Field Details
-
TYPE_NAME
Specify the PortConnector type name for UdpSubmitConnector.- See Also:
-
CONFIG_GUI
Specify the fully-qualified platform-wildcarded class name for the editor for AprsIsConnector.- See Also:
-
BLANK_FIELDS
Set of PortConfig field identifiers for fields that should not be copied from another system and should therefore be blanked out when copying configuration files. -
REQ_FIELDS
List of PortConfig field identifiers that are mandated for this port type to work, and the ResourceBundle key to prompt for a value if missing.
-
-
Constructor Details
-
UdpSubmitConnector
public UdpSubmitConnector()Create an uninitialized instance of UdpSubmitConnector.
-
-
Method Details
-
fillinConfigDefaults
Set the correct defaults for a port in process of being created.- Parameters:
cfg
- PortConfig.Cfg whose defaults should be adjusted
-
setAppVersion
Sets the name and version of the containing application.- Specified by:
setAppVersion
in interfaceNeedsAppVersionInfoIfc
- Parameters:
name
- String name of the application (cannot contain whitespace)version
- String version of the application (cannot contain whitespace)
-
configure
Update the configuration of the connector to match the updated setup.- Specified by:
configure
in classPortConnector
- Parameters:
config
- PortConfig defining new port settings- Throws:
IOException
- if interface changes could not be appliedIllegalArgumentException
- if type information is invalid for changing the settings of this PortConnector
-
sendFrame
Transmit an AX.25 frame through this port. May fail silently if port is not configured for transmission (receive-only). May also queue for later transmission if timeslotting is used. Should be thread-safe so that multiple simultaneous calls do not interleave bytes of different frames.- Specified by:
sendFrame
in interfaceTransmittingConnector
- Parameters:
frame
- AX25Frame object to transmit- Throws:
IOException
- if transmit failed for any reason other than a receive-only port
-
isOpen
public boolean isOpen()Reports whether this Connector has an open connection to its port.- Specified by:
isOpen
in interfaceTransmittingConnector
- Specified by:
isOpen
in classConnector
- Returns:
- boolean true if Connector is open
-
close
public void close()Shut down this port connection. Must be idempotent (may be called repeatedly on an already-closed Connector). -
getCapabilities
public int getCapabilities()Specify what capabilities a port of this type has.- Specified by:
getCapabilities
in interfaceTransmittingConnector
- Overrides:
getCapabilities
in classConnector
- Returns:
- bitmask of capability flags
- See Also:
-
toString
Returns a string representation of the object. -
getCurrentConnectAddress
Return the address of the remote APRS-IS server this port is connected to.- Returns:
- InetSocketAddress of remote server, or null if port is not open
-
getAcceptableProtocolsMask
public int getAcceptableProtocolsMask()Get the bitmask of AX.25 protocols supported by this port.- Specified by:
getAcceptableProtocolsMask
in interfaceTransmittingConnector
- Overrides:
getAcceptableProtocolsMask
in classTNCConnector
- Returns:
- protocol bitmask, or 0 for no AX.25 protocols supported
-