public override void Attach(ServiceParameterBufferBase spb, string dataSource, int port, string service, byte[] cryptKey)
    {
        FesDatabase.CheckCryptKeyForSupport(cryptKey);

        ClearStatusVector();

        var svcHandle = Handle;

        _fbClient.isc_service_attach(
            _statusVector,
            (short)service.Length,
            service,
            ref svcHandle,
            spb.Length,
            spb.ToArray());

        ProcessStatusVector(_statusVector);

        Handle = svcHandle;
    }
    public override ValueTask AttachAsync(ServiceParameterBufferBase spb, string dataSource, int port, string service, byte[] cryptKey, CancellationToken cancellationToken = default)
    {
        FesDatabase.CheckCryptKeyForSupport(cryptKey);

        ClearStatusVector();

        var svcHandle = Handle;

        _fbClient.isc_service_attach(
            _statusVector,
            (short)service.Length,
            service,
            ref svcHandle,
            spb.Length,
            spb.ToArray());

        ProcessStatusVector(_statusVector);

        Handle = svcHandle;

        return(ValueTask2.CompletedTask);
    }