Package org.firebirdsql.gds.ng.wire
Interface ProtocolDescriptor
- 
- All Known Implementing Classes:
- AbstractProtocolDescriptor,- Version10Descriptor,- Version11Descriptor,- Version12Descriptor,- Version13Descriptor,- Version15Descriptor,- Version16Descriptor,- Version18Descriptor,- Version19Descriptor
 
 public interface ProtocolDescriptorDescriptor of protocol information.The driver maintains a list of default protocol descriptors that are loaded using a ServiceLoaderfrom the fileMETA-INF/services/org.firebirdsql.gds.ng.wire.ProtocolDescriptorProtocol descriptors loaded this way are required to adhere to the following rules: - They provide a no-arg constructor
- All instances of a specific implementation class created with the no-arg constructor have the
 same Object.hashCode().
- All instances of a specific implementation class created with the no-arg constructor are considered equal to
 each other by the Object.equals(Object)implementation
 - Since:
- 3.0
- Author:
- Mark Rotteveel
 
- 
- 
Method Summary
 
- 
- 
- 
Method Detail- 
getVersionint getVersion() - Returns:
- The protocol version
 
 - 
getArchitectureint getArchitecture() - Returns:
- Protocol architecture
 
 - 
getMinimumTypeint getMinimumType() - Returns:
- Minimum supported protocol type
 
 - 
getMaximumTypeint getMaximumType() - Returns:
- Maximum supported protocol type
 
 - 
supportsWireCompressionboolean supportsWireCompression() - Returns:
- truewhen zlib wire compression is supported
 
 - 
getWeightint getWeight() - Returns:
- Preference weight
 
 - 
createDatabaseFbWireDatabase createDatabase(WireDatabaseConnection connection) CreateFbWireDatabaseimplementation for this protocol.- Parameters:
- connection- WireDatabaseConnection to this database
- Returns:
- FbWireDatabase implementation
 
 - 
createServiceFbWireService createService(WireServiceConnection connection) CreateFbWireServiceimplementation for this protocol.- Parameters:
- connection- WireServiceConnection to this service
- Returns:
- FbWireService implementation
 
 - 
createTransactionFbWireTransaction createTransaction(FbWireDatabase database, int transactionHandle, TransactionState initialState) CreateFbTransactionimplementation for this protocol.- Parameters:
- database- FbWireDatabase of the current database
- transactionHandle- Transaction handle
- initialState- Initial transaction state (either- TransactionState.ACTIVEor- TransactionState.PREPARED).
- Returns:
- FbTransaction implementation
 
 - 
createStatementFbWireStatement createStatement(FbWireDatabase database) CreateFbStatementimplementation for this protocol.- Parameters:
- database- FbWireDatabase of the current database
- Returns:
- FbStatement implementation
 
 - 
createDatabaseParameterBufferDatabaseParameterBuffer createDatabaseParameterBuffer(WireDatabaseConnection connection) throws java.sql.SQLException CreateDatabaseParameterBufferimplementation and populate it with supported properties for this protocol version.- Parameters:
- connection- Connection
- Returns:
- DatabaseParameterBuffer implementation
- Throws:
- java.sql.SQLException
 
 - 
createAttachServiceParameterBufferServiceParameterBuffer createAttachServiceParameterBuffer(WireServiceConnection connection) throws java.sql.SQLException Create an attachServiceParameterBufferimplementation and populate it with supported properties for this protocol version.- Parameters:
- connection- Connection
- Returns:
- ServiceParameterBuffer implementation for attach
- Throws:
- java.sql.SQLException
 
 - 
createServiceParameterBufferServiceParameterBuffer createServiceParameterBuffer(WireServiceConnection connection) Creates a normalServiceParameterBuffer.- Parameters:
- connection- Connection
- Returns:
- ServiceParameterBuffer implementation
 
 - 
createServiceRequestBufferServiceRequestBuffer createServiceRequestBuffer(WireServiceConnection connection) - Returns:
- An empty service request buffer
 
 - 
createBlrCalculatorBlrCalculator createBlrCalculator(FbWireDatabase database) CreateBlrCalculatorimplementation for this protocol version.- Parameters:
- database- FbWireDatabase of the current database
- Returns:
- BlrCalculator implementation
 
 - 
createOutputBlobFbWireBlob createOutputBlob(FbWireDatabase database, FbWireTransaction transaction, BlobParameterBuffer blobParameterBuffer) throws java.sql.SQLException Create an outputFbWireBlobimplementation for this protocol version.- Parameters:
- database- FbWireDatabase of the current database
- transaction- FbWireTransaction to associate with the blob
- blobParameterBuffer- Blob Parameter Buffer
- Returns:
- FbWireBlob implementation
- Throws:
- java.sql.SQLException
 
 - 
createInputBlobFbWireBlob createInputBlob(FbWireDatabase database, FbWireTransaction transaction, BlobParameterBuffer blobParameterBuffer, long blobId) throws java.sql.SQLException Create an inputFbWireBlobimplementation for this protocol version.- Parameters:
- database- FbWireDatabase of the current database
- transaction- FbWireTransaction to associate with the blob
- blobParameterBuffer- Blob Parameter Buffer
- blobId- Blob Id (must be non-zero for input blob)
- Returns:
- FbWireBlob implementation
- Throws:
- java.sql.SQLException
 
 - 
createAsynchronousChannelFbWireAsynchronousChannel createAsynchronousChannel(FbWireDatabase database) Create a disconnected asynchronous channel.- Parameters:
- database- The parent database handle.
- Returns:
- Asynchronous channel implementation
 
 - 
createWireOperationsFbWireOperations createWireOperations(WireConnection<?,?> connection, WarningMessageCallback defaultWarningMessageCallback) Create anFbWireOperationsimplementation for this protocol version.- Parameters:
- connection- WireConnection instance (non-- null)
- defaultWarningMessageCallback- default warning message callback (non-- null)
- Returns:
- Wire operations implementation
 
 
- 
 
-