public class AmqpSenderImpl extends Object implements AmqpSender
| Modifier and Type | Method and Description |
|---|---|
String |
address() |
Future<Void> |
close()
Like
AmqpSender.close(Handler) but returns a Future of the asynchronous result |
void |
close(Handler<AsyncResult<Void>> handler)
Closes the sender.
|
AmqpConnection |
connection()
Gets the connection having created the sender.
|
AmqpSender |
drainHandler(Handler<Void> handler)
Set a drain handler on the stream.
|
void |
end(Handler<AsyncResult<Void>> handler)
Same as
WriteStream.end() but with an handler called when the operation completes |
AmqpSender |
exceptionHandler(Handler<Throwable> handler)
Set an exception handler on the write stream.
|
long |
remainingCredits() |
AmqpSender |
send(AmqpMessage message)
Sends an AMQP message.
|
Future<Void> |
sendWithAck(AmqpMessage message)
Like
AmqpSender.sendWithAck(AmqpMessage, Handler) but returns a Future of the asynchronous result |
AmqpSender |
sendWithAck(AmqpMessage message,
Handler<AsyncResult<Void>> acknowledgementHandler)
Sends an AMQP message and waits for an acknowledgement.
|
AmqpSender |
setWriteQueueMaxSize(int maxSize)
Set the maximum size of the write queue to
maxSize. |
Future<Void> |
write(AmqpMessage data)
Write some data to the stream.
|
void |
write(AmqpMessage data,
Handler<AsyncResult<Void>> handler)
Same as
#write(T) but with an handler called when the operation completes |
boolean |
writeQueueFull()
This will return
true if there are more bytes in the write queue than the value set using WriteStream.setWriteQueueMaxSize(int) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitend, end, endpublic boolean writeQueueFull()
WriteStreamtrue if there are more bytes in the write queue than the value set using WriteStream.setWriteQueueMaxSize(int)writeQueueFull in interface WriteStream<AmqpMessage>true if write queue is fullpublic AmqpConnection connection()
AmqpSendernullconnection in interface AmqpSenderpublic AmqpSender send(AmqpMessage message)
AmqpSendersend in interface AmqpSendermessage - the message, must not be nullpublic AmqpSender exceptionHandler(Handler<Throwable> handler)
WriteStreamexceptionHandler in interface AmqpSenderexceptionHandler in interface StreamBaseexceptionHandler in interface WriteStream<AmqpMessage>handler - the exception handlerpublic Future<Void> write(AmqpMessage data)
WriteStream The data is usually put on an internal write queue, and the write actually happens
asynchronously. To avoid running out of memory by putting too much on the write queue,
check the WriteStream.writeQueueFull() method before writing. This is done automatically if
using a Pipe.
When the data is moved from the queue to the actual medium, the returned
Future will be completed with the write result, e.g the future is succeeded
when a server HTTP response buffer is written to the socket and failed if the remote
client has closed the socket while the data was still pending for write.
write in interface WriteStream<AmqpMessage>data - the data to writepublic void write(AmqpMessage data, Handler<AsyncResult<Void>> handler)
WriteStream#write(T) but with an handler called when the operation completeswrite in interface WriteStream<AmqpMessage>public AmqpSender setWriteQueueMaxSize(int maxSize)
WriteStreammaxSize. You will still be able to write to the stream even
if there is more than maxSize items in the write queue. This is used as an indicator by classes such as
Pipe to provide flow control.
The value is defined by the implementation of the stream, e.g in bytes for a
NetSocket, etc...setWriteQueueMaxSize in interface AmqpSendersetWriteQueueMaxSize in interface WriteStream<AmqpMessage>maxSize - the max size of the write streampublic void end(Handler<AsyncResult<Void>> handler)
WriteStreamWriteStream.end() but with an handler called when the operation completesend in interface WriteStream<AmqpMessage>public AmqpSender drainHandler(Handler<Void> handler)
WriteStreamPipe for an example of this being used.
The stream implementation defines when the drain handler, for example it could be when the queue size has been
reduced to maxSize / 2.
drainHandler in interface WriteStream<AmqpMessage>handler - the handlerpublic AmqpSender sendWithAck(AmqpMessage message, Handler<AsyncResult<Void>> acknowledgementHandler)
AmqpSenderAsyncResult marked as failed if the message has been rejected or re-routed. If the message has been accepted,
the handler is called with a success.sendWithAck in interface AmqpSendermessage - the message, must not be nullacknowledgementHandler - the acknowledgement handler, must not be nullpublic Future<Void> sendWithAck(AmqpMessage message)
AmqpSenderAmqpSender.sendWithAck(AmqpMessage, Handler) but returns a Future of the asynchronous resultsendWithAck in interface AmqpSenderpublic void close(Handler<AsyncResult<Void>> handler)
AmqpSenderclose in interface AmqpSenderhandler - called when the sender has been closed, must not be nullpublic Future<Void> close()
AmqpSenderAmqpSender.close(Handler) but returns a Future of the asynchronous resultclose in interface AmqpSenderpublic String address()
address in interface AmqpSenderpublic long remainingCredits()
remainingCredits in interface AmqpSenderCopyright © 2021. All rights reserved.