public class SendChannelEndpoint extends UdpChannelTransport
NetworkPublications onto a single transport session for
sending data and setup frames plus the receiving of status and NAK frames.bindAddress, connectAddress, endPointAddress, errorLog, invalidPackets, receiveDatagramChannel, selectionKey, sendDatagramChannel, transportPoller, udpChannel| Constructor and Description |
|---|
SendChannelEndpoint(UdpChannel udpChannel,
org.agrona.concurrent.status.AtomicCounter statusIndicator,
MediaDriver.Context context) |
| Modifier and Type | Method and Description |
|---|---|
void |
addPublication(NetworkPublication publication)
Called form the
DriverConductor to associate a publication with a sessionId and streamId. |
void |
closeStatusIndicator() |
NetworkPublication |
getPublication(int streamId)
Called from the
DriverConductor to find the publication associated with a sessionId and streamId |
void |
indicateActive() |
boolean |
isStatusIndicatorClosed() |
void |
onNakMessage(io.aeron.protocol.NakFlyweight msg,
java.net.InetSocketAddress srcAddress) |
void |
onStatusMessage(io.aeron.protocol.StatusMessageFlyweight msg,
java.net.InetSocketAddress srcAddress) |
void |
openChannel() |
java.lang.String |
originalUriString() |
protected void |
presend(java.nio.ByteBuffer buffer,
java.net.InetSocketAddress address) |
void |
registerForSend(NetworkPublication publication)
Called from the
Sender to add information to the control packet dispatcher. |
NetworkPublication |
removePublication(NetworkPublication publication)
Called from the
DriverConductor to remove an association of a publication. |
int |
send(java.nio.ByteBuffer buffer)
Send contents of a
ByteBuffer to connected address. |
int |
sessionCount()
Called from the
DriverConductor to return the number of associated publications. |
void |
unregisterForSend(NetworkPublication publication)
Called from the
Sender to remove information from the control packet dispatcher. |
close, getOption, isMulticast, isValidFrame, multicastTtl, openDatagramChannel, receive, receiveDatagramChannel, registerForRead, udpChannelpublic SendChannelEndpoint(UdpChannel udpChannel, org.agrona.concurrent.status.AtomicCounter statusIndicator, MediaDriver.Context context)
public void openChannel()
public java.lang.String originalUriString()
public boolean isStatusIndicatorClosed()
public void indicateActive()
public void closeStatusIndicator()
public NetworkPublication getPublication(int streamId)
DriverConductor to find the publication associated with a sessionId and streamIdstreamId - for the publicationpublic void addPublication(NetworkPublication publication)
DriverConductor to associate a publication with a sessionId and streamId.publication - to associatepublic NetworkPublication removePublication(NetworkPublication publication)
DriverConductor to remove an association of a publication.publication - to removepublic int sessionCount()
DriverConductor to return the number of associated publications.public void registerForSend(NetworkPublication publication)
Sender to add information to the control packet dispatcher.publication - to add to the dispatcherpublic void unregisterForSend(NetworkPublication publication)
Sender to remove information from the control packet dispatcher.publication - to removepublic int send(java.nio.ByteBuffer buffer)
ByteBuffer to connected address.
This is used on the send size for performance over sentTo().buffer - to sendprotected void presend(java.nio.ByteBuffer buffer,
java.net.InetSocketAddress address)
public void onStatusMessage(io.aeron.protocol.StatusMessageFlyweight msg,
java.net.InetSocketAddress srcAddress)
public void onNakMessage(io.aeron.protocol.NakFlyweight msg,
java.net.InetSocketAddress srcAddress)
Copyright © 2014 - 2016 Real Logic Ltd. All Rights Reserved.