public class SendChannelEndpoint extends UdpChannelTransport
NetworkPublication
s onto a single transport channel for
sending data and setup frames plus the receiving of status and NAK frames.bindAddress, connectAddress, endPointAddress, errorLog, invalidPackets, isClosed, multicastTtl, 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 |
closeStatusIndicator() |
void |
decRef() |
void |
incRef() |
void |
indicateActive() |
void |
onNakMessage(NakFlyweight msg,
org.agrona.concurrent.UnsafeBuffer buffer,
int length,
java.net.InetSocketAddress srcAddress) |
void |
onRttMeasurement(RttMeasurementFlyweight msg,
org.agrona.concurrent.UnsafeBuffer buffer,
int length,
java.net.InetSocketAddress srcAddress) |
void |
onStatusMessage(StatusMessageFlyweight msg,
org.agrona.concurrent.UnsafeBuffer buffer,
int length,
java.net.InetSocketAddress srcAddress) |
void |
openChannel(DriverConductorProxy conductorProxy) |
java.lang.String |
originalUriString() |
void |
registerForSend(NetworkPublication publication)
Called from the
Sender to add information to the control packet dispatcher. |
void |
removeDestination(java.net.InetSocketAddress address) |
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. |
int |
statusIndicatorCounterId() |
void |
unregisterForSend(NetworkPublication publication)
Called from the
Sender to remove information from the control packet dispatcher. |
void |
validateAllowsManualControl() |
close, isMulticast, isValidFrame, multicastTtl, openDatagramChannel, receive, receiveDatagramChannel, receiveHook, registerForRead, sendError, sendHook, udpChannel
public SendChannelEndpoint(UdpChannel udpChannel, org.agrona.concurrent.status.AtomicCounter statusIndicator, MediaDriver.Context context)
public void decRef()
public void incRef()
public void openChannel(DriverConductorProxy conductorProxy)
public java.lang.String originalUriString()
public int statusIndicatorCounterId()
public void indicateActive()
public void closeStatusIndicator()
public 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 sender side for performance over send(ByteBuffer, SocketAddress).buffer
- to sendpublic void onStatusMessage(StatusMessageFlyweight msg, org.agrona.concurrent.UnsafeBuffer buffer, int length, java.net.InetSocketAddress srcAddress)
public void onNakMessage(NakFlyweight msg, org.agrona.concurrent.UnsafeBuffer buffer, int length, java.net.InetSocketAddress srcAddress)
public void onRttMeasurement(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-2018 Real Logic Ltd. All Rights Reserved.