public class ReceiveChannelEndpoint extends UdpChannelTransport
bindAddress, connectAddress, endPointAddress, errorLog, invalidPackets, isClosed, multicastTtl, receiveDatagramChannel, selectionKey, sendDatagramChannel, transportPoller, udpChannel
Constructor and Description |
---|
ReceiveChannelEndpoint(UdpChannel udpChannel,
DataPacketDispatcher dispatcher,
org.agrona.concurrent.status.AtomicCounter statusIndicator,
MediaDriver.Context context) |
Modifier and Type | Method and Description |
---|---|
int |
addDestination(ReceiveDestinationUdpTransport transport) |
void |
addPublicationImage(PublicationImage image) |
void |
addSubscription(int streamId) |
void |
addSubscription(int streamId,
int sessionId) |
void |
closeMultiRcvDestination() |
void |
closeStatusIndicator() |
int |
decRefToStream(int streamId) |
long |
decRefToStreamAndSession(int streamId,
int sessionId) |
ReceiveDestinationUdpTransport |
destination(int transportIndex) |
int |
destination(UdpChannel udpChannel) |
java.net.InetSocketAddress |
explicitControlAddress() |
boolean |
hasDestinationControl() |
boolean |
hasExplicitControl() |
int |
incRefToStream(int streamId) |
long |
incRefToStreamAndSession(int streamId,
int sessionId) |
void |
indicateActive() |
boolean |
isMulticast()
Is transport representing a multicast media or unicast
|
boolean |
isMulticast(int transportIndex) |
int |
multicastTtl()
Get the multicast TTL value for sending datagrams on the channel.
|
int |
multicastTtl(int transportIndex) |
int |
onDataPacket(DataHeaderFlyweight header,
org.agrona.concurrent.UnsafeBuffer buffer,
int length,
java.net.InetSocketAddress srcAddress,
int transportIndex) |
void |
onRttMeasurement(RttMeasurementFlyweight header,
org.agrona.concurrent.UnsafeBuffer buffer,
int length,
java.net.InetSocketAddress srcAddress,
int transportIndex) |
void |
onSetupMessage(SetupFlyweight header,
org.agrona.concurrent.UnsafeBuffer buffer,
int length,
java.net.InetSocketAddress srcAddress,
int transportIndex) |
void |
openChannel(DriverConductorProxy conductorProxy) |
java.lang.String |
originalUriString() |
void |
possibleTtlAsymmetryEncountered() |
void |
removeCoolDown(int sessionId,
int streamId) |
void |
removeDestination(int transportIndex) |
void |
removePendingSetup(int sessionId,
int streamId) |
void |
removePublicationImage(PublicationImage publicationImage) |
void |
removeSubscription(int streamId) |
void |
removeSubscription(int streamId,
int sessionId) |
protected void |
send(java.nio.ByteBuffer buffer,
int bytesToSend,
ImageConnection[] imageConnections) |
protected void |
send(java.nio.ByteBuffer buffer,
int bytesToSend,
int transportIndex,
java.net.InetSocketAddress remoteAddress) |
void |
sendNakMessage(ImageConnection[] controlAddresses,
int sessionId,
int streamId,
int termId,
int termOffset,
int length) |
void |
sendRttMeasurement(ImageConnection[] controlAddresses,
int sessionId,
int streamId,
long echoTimestampNs,
long receptionDelta,
boolean isReply) |
void |
sendRttMeasurement(int transportIndex,
java.net.InetSocketAddress controlAddress,
int sessionId,
int streamId,
long echoTimestampNs,
long receptionDelta,
boolean isReply) |
void |
sendSetupElicitingStatusMessage(int transportIndex,
java.net.InetSocketAddress controlAddress,
int sessionId,
int streamId) |
void |
sendStatusMessage(ImageConnection[] controlAddresses,
int sessionId,
int streamId,
int termId,
int termOffset,
int window,
short flags) |
int |
sendTo(java.nio.ByteBuffer buffer,
java.net.InetSocketAddress remoteAddress)
Send contents of
ByteBuffer to the remote address. |
boolean |
shouldBeClosed() |
boolean |
shouldElicitSetupMessage() |
int |
statusIndicatorCounterId() |
int |
streamCount() |
UdpChannel |
udpChannel()
Return underlying
UdpChannel |
UdpChannel |
udpChannel(int transportIndex) |
void |
validateAllowsDestinationControl() |
close, isValidFrame, openDatagramChannel, receive, receiveDatagramChannel, receiveHook, registerForRead, sendError, sendHook
public ReceiveChannelEndpoint(UdpChannel udpChannel, DataPacketDispatcher dispatcher, org.agrona.concurrent.status.AtomicCounter statusIndicator, MediaDriver.Context context)
public int sendTo(java.nio.ByteBuffer buffer, java.net.InetSocketAddress remoteAddress)
ByteBuffer
to the remote address.buffer
- to send containing the payload.remoteAddress
- to send to send the payload to.public java.lang.String originalUriString()
public int statusIndicatorCounterId()
public void indicateActive()
public void closeStatusIndicator()
public void closeMultiRcvDestination()
public void openChannel(DriverConductorProxy conductorProxy)
public void possibleTtlAsymmetryEncountered()
public int incRefToStream(int streamId)
public int decRefToStream(int streamId)
public long incRefToStreamAndSession(int streamId, int sessionId)
public long decRefToStreamAndSession(int streamId, int sessionId)
public int streamCount()
public boolean shouldBeClosed()
public boolean hasExplicitControl()
public java.net.InetSocketAddress explicitControlAddress()
public boolean hasDestinationControl()
public void validateAllowsDestinationControl()
public boolean isMulticast()
UdpChannelTransport
isMulticast
in class UdpChannelTransport
public boolean isMulticast(int transportIndex)
public UdpChannel udpChannel()
UdpChannelTransport
UdpChannel
udpChannel
in class UdpChannelTransport
public UdpChannel udpChannel(int transportIndex)
public int multicastTtl()
UdpChannelTransport
multicastTtl
in class UdpChannelTransport
public int multicastTtl(int transportIndex)
public int addDestination(ReceiveDestinationUdpTransport transport)
public void removeDestination(int transportIndex)
public int destination(UdpChannel udpChannel)
public ReceiveDestinationUdpTransport destination(int transportIndex)
public int onDataPacket(DataHeaderFlyweight header, org.agrona.concurrent.UnsafeBuffer buffer, int length, java.net.InetSocketAddress srcAddress, int transportIndex)
public void onSetupMessage(SetupFlyweight header, org.agrona.concurrent.UnsafeBuffer buffer, int length, java.net.InetSocketAddress srcAddress, int transportIndex)
public void onRttMeasurement(RttMeasurementFlyweight header, org.agrona.concurrent.UnsafeBuffer buffer, int length, java.net.InetSocketAddress srcAddress, int transportIndex)
public void sendSetupElicitingStatusMessage(int transportIndex, java.net.InetSocketAddress controlAddress, int sessionId, int streamId)
public void sendRttMeasurement(int transportIndex, java.net.InetSocketAddress controlAddress, int sessionId, int streamId, long echoTimestampNs, long receptionDelta, boolean isReply)
public void sendStatusMessage(ImageConnection[] controlAddresses, int sessionId, int streamId, int termId, int termOffset, int window, short flags)
public void sendNakMessage(ImageConnection[] controlAddresses, int sessionId, int streamId, int termId, int termOffset, int length)
public void sendRttMeasurement(ImageConnection[] controlAddresses, int sessionId, int streamId, long echoTimestampNs, long receptionDelta, boolean isReply)
public void removePendingSetup(int sessionId, int streamId)
public void removePublicationImage(PublicationImage publicationImage)
public void addSubscription(int streamId)
public void addSubscription(int streamId, int sessionId)
public void removeSubscription(int streamId)
public void removeSubscription(int streamId, int sessionId)
public void addPublicationImage(PublicationImage image)
public void removeCoolDown(int sessionId, int streamId)
public boolean shouldElicitSetupMessage()
protected void send(java.nio.ByteBuffer buffer, int bytesToSend, ImageConnection[] imageConnections)
protected void send(java.nio.ByteBuffer buffer, int bytesToSend, int transportIndex, java.net.InetSocketAddress remoteAddress)
Copyright © 2014-2018 Real Logic Ltd. All Rights Reserved.