public class SendChannelEndpoint extends UdpChannelTransport
NetworkPublications onto a single transport channel 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 |
addDestination(java.net.InetSocketAddress address) |
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() |
void |
onNakMessage(io.aeron.protocol.NakFlyweight msg,
org.agrona.concurrent.UnsafeBuffer buffer,
int length,
java.net.InetSocketAddress srcAddress) |
void |
onRttMeasurement(io.aeron.protocol.RttMeasurementFlyweight msg,
org.agrona.concurrent.UnsafeBuffer buffer,
int length,
java.net.InetSocketAddress srcAddress) |
void |
onStatusMessage(io.aeron.protocol.StatusMessageFlyweight msg,
org.agrona.concurrent.UnsafeBuffer buffer,
int length,
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. |
void |
removeDestination(java.net.InetSocketAddress address) |
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. |
boolean |
shouldBeClosed()
Called by the
DriverConductor to determine if the channel endpoint should be closed. |
void |
unregisterForSend(NetworkPublication publication)
Called from the
Sender to remove information from the control packet dispatcher. |
void |
validateAllowsManualControl() |
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 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 boolean shouldBeClosed()
DriverConductor to determine if the channel endpoint should be closed.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,
org.agrona.concurrent.UnsafeBuffer buffer,
int length,
java.net.InetSocketAddress srcAddress)
public void onNakMessage(io.aeron.protocol.NakFlyweight msg,
org.agrona.concurrent.UnsafeBuffer buffer,
int length,
java.net.InetSocketAddress srcAddress)
public void onRttMeasurement(io.aeron.protocol.RttMeasurementFlyweight msg,
org.agrona.concurrent.UnsafeBuffer buffer,
int length,
java.net.InetSocketAddress srcAddress)
public void validateAllowsManualControl()
public void addDestination(java.net.InetSocketAddress address)
public void removeDestination(java.net.InetSocketAddress address)
Copyright © 2014 - 2016 Real Logic Ltd. All Rights Reserved.