Module org.firebirdsql.jaybird
Package org.firebirdsql.gds.ng.wire

# Interface TransmitAction

Functional Interface:
  This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface @NullMarked public interface TransmitAction
Action for transmitting messages to Firebird.

This action is primarily intended for transmitting data while the transmit lock is held.

Since:
  6.0.4
See Also:
  - `XdrStreamAccess.withTransmitLock(TransmitAction)`

## Method Summary

Modifier and Type
Method
Description
`void`
`transmit(XdrOutputStream xdrOut)`
Transmits a message (or messages) to Firebird.

## Method Details

### transmit

void transmit(XdrOutputStream xdrOut) throws IOException, SQLException
Transmits a message (or messages) to Firebird.

Implementations should not obtain (additional) locks, and must not attempt to read (receive) data from the server. Preferably, the only operations done are writes to `xdrOut`. In general, an action should write the whole message. If that is not possible, make sure that the full message is written while the transmit lock is held.

Parameters:
  `xdrOut` - XDR output stream to Firebird server
Throws:
  `IOException` - for errors writing into `xdrOut`
  `SQLException` - for connection state errors
See Also:
  - `XdrStreamAccess.withTransmitLock(TransmitAction)`