Package org.firebirdsql.gds.ng.wire
Interface ProtocolDescriptor
- 
- All Known Implementing Classes:
- AbstractProtocolDescriptor,- Version10Descriptor,- Version11Descriptor,- Version12Descriptor,- Version13Descriptor,- Version15Descriptor,- Version16Descriptor
 
 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 SummaryAll Methods Instance Methods Abstract Methods Modifier and Type Method Description FbWireAsynchronousChannelcreateAsynchronousChannel(FbWireDatabase database)Create a disconnected asynchronous channel.ServiceParameterBuffercreateAttachServiceParameterBuffer(WireServiceConnection connection)Create an attachServiceParameterBufferimplementation and populate it with supported properties for this protocol version.BlrCalculatorcreateBlrCalculator(FbWireDatabase database)CreateBlrCalculatorimplementation for this protocol version.FbWireDatabasecreateDatabase(WireDatabaseConnection connection)CreateFbWireDatabaseimplementation for this protocol.DatabaseParameterBuffercreateDatabaseParameterBuffer(WireDatabaseConnection connection)CreateDatabaseParameterBufferimplementation and populate it with supported properties for this protocol version.FbWireBlobcreateInputBlob(FbWireDatabase database, FbWireTransaction transaction, BlobParameterBuffer blobParameterBuffer, long blobId)Create an inputFbWireBlobimplementation for this protocol version.FbWireBlobcreateOutputBlob(FbWireDatabase database, FbWireTransaction transaction, BlobParameterBuffer blobParameterBuffer)Create an outputFbWireBlobimplementation for this protocol version.FbWireServicecreateService(WireServiceConnection connection)CreateFbWireServiceimplementation for this protocol.ServiceParameterBuffercreateServiceParameterBuffer(WireServiceConnection connection)Creates a normalServiceParameterBuffer.ServiceRequestBuffercreateServiceRequestBuffer(WireServiceConnection connection)FbWireStatementcreateStatement(FbWireDatabase database)CreateFbStatementimplementation for this protocol.FbWireTransactioncreateTransaction(FbWireDatabase database, int transactionHandle, TransactionState initialState)CreateFbTransactionimplementation for this protocol.FbWireOperationscreateWireOperations(WireConnection<?,?> connection, WarningMessageCallback defaultWarningMessageCallback, java.lang.Object syncObject)Create anFbWireOperationsimplementation for this protocol version.intgetArchitecture()intgetMaximumType()intgetMinimumType()intgetVersion()intgetWeight()booleansupportsWireCompression()
 
- 
- 
- 
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) 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
 
 - 
createInputBlobFbWireBlob createInputBlob(FbWireDatabase database, FbWireTransaction transaction, BlobParameterBuffer blobParameterBuffer, long blobId) 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
 
 - 
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, java.lang.Object syncObject) Create anFbWireOperationsimplementation for this protocol version.- Parameters:
- connection- WireConnection instance
- defaultWarningMessageCallback- Default warning message callback
- syncObject- Object to use for synchronization
- Returns:
- Wire operations implementation
 
 
- 
 
-