Top Description Fields Constructors Methods
com.mysql.cj.protocol.x

public Class SyncMessageSender

extends Object
implements MessageSender<XMessage>, PacketSentTimeHolder
Class Inheritance
All Implemented Interfaces
com.mysql.cj.protocol.PacketSentTimeHolder, com.mysql.cj.protocol.MessageSender
Imports
java.io.IOException, .OutputStream, java.nio.ByteBuffer, .ByteOrder, java.nio.channels.CompletionHandler, java.util.concurrent.CompletableFuture, java.util.concurrent.locks.Lock, .ReentrantLock, com.google.protobuf.MessageLite, com.mysql.cj.Messages, com.mysql.cj.exceptions.CJCommunicationsException, .CJPacketTooBigException, com.mysql.cj.protocol.MessageSender, .PacketSentTimeHolder

Synchronous-only implementation of MessageSender.

Field Summary

Modifier and TypeField and Description
pack-priv static final int
HEADER_LEN

Header length of X Protocol packet.

private long
private int
private OutputStream
private long
pack-priv final Lock
syncOperationLock

Lock to protect async writes from sync ones.

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public long
getLastPacketSentTime()

Overrides default com.mysql.cj.protocol.PacketSentTimeHolder.getLastPacketSentTime.

Returns the send time of a very recent packet.

public long
getPreviousPacketSentTime()

Overrides default com.mysql.cj.protocol.PacketSentTimeHolder.getPreviousPacketSentTime.

Returns the send time of a previous packet.

public void
send(XMessage
Message instance
message
)

Overrides default com.mysql.cj.protocol.MessageSender.send.

Synchronously send the message to server.

public CompletableFuture<?>
send(XMessage
message extending Message
message
,
CompletableFuture<?>
a Future returning operation result
future
,
Runnable
a callback to receive notification of when the message is completely written
callback
)

Overrides default com.mysql.cj.protocol.MessageSender.send.

Asynchronously write a message with a notification being delivered to callback upon completion of write of entire message.

public void
setMaxAllowedPacket(int
max allowed packet size
maxAllowedPacket
)

Overrides default com.mysql.cj.protocol.MessageSender.setMaxAllowedPacket.

Set max allowed packet size.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

HEADER_LENback to summary
pack-priv static final int HEADER_LEN

Header length of X Protocol packet.

lastPacketSentTimeback to summary
private long lastPacketSentTime
maxAllowedPacketback to summary
private int maxAllowedPacket
outputStreamback to summary
private OutputStream outputStream
previousPacketSentTimeback to summary
private long previousPacketSentTime
syncOperationLockback to summary
pack-priv final Lock syncOperationLock

Lock to protect async writes from sync ones.

Constructor Detail

SyncMessageSenderback to summary
public SyncMessageSender(OutputStream os)

Method Detail

getLastPacketSentTimeback to summary
public long getLastPacketSentTime()

Overrides default com.mysql.cj.protocol.PacketSentTimeHolder.getLastPacketSentTime.

Doc from com.mysql.cj.protocol.PacketSentTimeHolder.getLastPacketSentTime.

Returns the send time of a very recent packet. Should be used in exception generation when the send operation failed.

Returns:long

very recent packet send time

Annotations
@Override
getPreviousPacketSentTimeback to summary
public long getPreviousPacketSentTime()

Overrides default com.mysql.cj.protocol.PacketSentTimeHolder.getPreviousPacketSentTime.

Doc from com.mysql.cj.protocol.PacketSentTimeHolder.getPreviousPacketSentTime.

Returns the send time of a previous packet. Should be used in exception generation when the send operation was successful but the following read operation failed.

Returns:long

previous packet send time

Annotations
@Override
sendback to summary
public void send(XMessage message)

Overrides default com.mysql.cj.protocol.MessageSender.send.

Doc from com.mysql.cj.protocol.MessageSender.send.

Synchronously send the message to server.

Parameters
message:XMessage

Message instance

Annotations
@Override
sendback to summary
public CompletableFuture<?> send(XMessage message, CompletableFuture<?> future, Runnable callback)

Overrides default com.mysql.cj.protocol.MessageSender.send.

Doc from com.mysql.cj.protocol.MessageSender.send.

Asynchronously write a message with a notification being delivered to callback upon completion of write of entire message.

Parameters
message:XMessage

message extending Message

future:CompletableFuture<?>

a Future returning operation result

callback:Runnable

a callback to receive notification of when the message is completely written

Returns:CompletableFuture<?>

result

Annotations
@Override
setMaxAllowedPacketback to summary
public void setMaxAllowedPacket(int maxAllowedPacket)

Overrides default com.mysql.cj.protocol.MessageSender.setMaxAllowedPacket.

Doc from com.mysql.cj.protocol.MessageSender.setMaxAllowedPacket.

Set max allowed packet size.

Parameters
maxAllowedPacket:int

max allowed packet size

Annotations
@Override