Class UdpTransportMapping
- All Implemented Interfaces:
Closeable, AutoCloseable, TransportMapping<UdpAddress>
- Direct Known Subclasses:
DefaultUdpTransportMapping
The
UdpTransportMapping is the abstract base class for
UDP transport mappings.- Version:
- 3.0
- Author:
- Frank Fock
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract voidclose()Closes this resource and releases any associated system resources.Returns the transport address that is configured for this transport mapping for sending and receiving messages.Returns the address that represents the actual incoming address this transport mapping uses to listen for incoming packets.Gets the primaryAddressclass that is supported by this transport mapping.abstract voidlisten()Starts listening for incoming connections or events.abstract voidsendMessage(UdpAddress address, byte[] message, TransportStateReference tmStateReference, long timeoutMillis, int maxRetries) Sends a message to the supplied address using this transport.Methods inherited from class AbstractTransportMapping
addTransportAuditListener, addTransportListener, addTransportStateListener, fireConnectionStateChanged, fireProcessMessage, fireTransportAuditEvent, getAuditListenAddress, getListenWorkerTask, getMaxInboundMessageSize, getPriority, getSocketCleaner, getSuspendedAddresses, getThreadName, handleDroppedMessageToSend, isAsyncMsgProcessingSupported, isListening, isTransportAudit, removeAllTransportAuditListeners, removeAllTransportListeners, removeTransportAuditListener, removeTransportListener, removeTransportStateListener, resumeAddress, setAsyncMsgProcessingSupported, setPriority, setThreadName, suspendAddressMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface TransportMapping
getMaxOutboundMessageSize, getSupportedAddressClasses, getSupportedTransportType, isAddressSupported, isAddressSupported
-
Field Details
-
udpAddress
-
-
Constructor Details
-
UdpTransportMapping
-
-
Method Details
-
getSupportedAddressClass
Description copied from interface:TransportMappingGets the primaryAddressclass that is supported by this transport mapping.- Specified by:
getSupportedAddressClassin interfaceTransportMapping<UdpAddress>- Specified by:
getSupportedAddressClassin classAbstractTransportMapping<UdpAddress>- Returns:
- a subclass of
Address.
-
getAddress
Returns the transport address that is configured for this transport mapping for sending and receiving messages.- Returns:
- the
Addressused by this transport mapping. The returned instance must not be modified!
-
getListenAddress
Description copied from interface:TransportMappingReturns the address that represents the actual incoming address this transport mapping uses to listen for incoming packets.- Specified by:
getListenAddressin interfaceTransportMapping<UdpAddress>- Specified by:
getListenAddressin classAbstractTransportMapping<UdpAddress>- Returns:
- the address for incoming packets or
nullthis transport mapping is not configured to listen for incoming packets.
-
listen
Description copied from class:AbstractTransportMappingStarts listening for incoming connections or events. This method is intended to be implemented by subclasses to define the specific behavior required for listening operations in various contexts (e.g., network connections, event streams).- Specified by:
listenin interfaceTransportMapping<UdpAddress>- Specified by:
listenin classAbstractTransportMapping<UdpAddress>- Throws:
IOException- if an I/O error occurs during the listening process.
-
close
Description copied from class:AbstractTransportMappingCloses this resource and releases any associated system resources. If the resource is already closed, invoking this method has no effect.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceTransportMapping<UdpAddress>- Specified by:
closein classAbstractTransportMapping<UdpAddress>- Throws:
IOException- if an I/O error occurs while closing the resource
-
sendMessage
public abstract void sendMessage(UdpAddress address, byte[] message, TransportStateReference tmStateReference, long timeoutMillis, int maxRetries) throws IOException Description copied from class:AbstractTransportMappingSends a message to the supplied address using this transport. If the target address has been suspended, then instead actually sending the message on the wire, the methodAbstractTransportMapping.handleDroppedMessageToSend(Address, byte[], TransportStateReference, long, int)will be called. To stop suspending of a target address, callAbstractTransportMapping.resumeAddress(Address)for that address.- Specified by:
sendMessagein interfaceTransportMapping<UdpAddress>- Specified by:
sendMessagein classAbstractTransportMapping<UdpAddress>- Parameters:
address- anAddressinstance denoting the target address.message- the whole message as an array of bytes.tmStateReference- the (optional) transport model state reference as defined by RFC 5590 section 6.1.timeoutMillis- maximum number of milliseconds the connection creation might take (if connection-based).maxRetries- maximum retries during connection creation.- Throws:
IOException- if any underlying IO operation fails.
-