asherah 0.10.2 → 0.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c5c673a39903ee5b4621f8ece1507b9d127da401602b0e9e024b9e7a1c95463b
4
- data.tar.gz: 608d3d5bf3d0989c07b031706cd62a04bd1992fb769efe24c714798e80eaed87
3
+ metadata.gz: 338cc815afebd4f4cf0c43fb0ef5e1da0a8a547e1006bd39e5c12e0ccbc3ab9e
4
+ data.tar.gz: b2773e9c657c9a2582eff5be6ebeba696b6ab745b31163fbc860b8eb2c9ff3d7
5
5
  SHA512:
6
- metadata.gz: 3d6f044f67e198e489a249f297510600a45e330b1778341b89687ac255738d462ad28199c07dd77301fe10f89d7af0a9a1cd54d0d949f173b3aeb045e54f2c6c
7
- data.tar.gz: a1b7d4bbbad9bb9748d7e15dbfc07c86617b2d6cc8ac7817d88d6700254a5b4a9946bc529dda86e0dc3a82af5a82488b1ef81763534c5b5c5f1e4ca3de82a995
6
+ metadata.gz: a7a3ef4df3420ab9798849e5810a68884dc5e97c9ccf2f69c0725bb656f131187830cce3685bcedbb0ae4f2bf702f6c4ec17c56af75938cb49cd786e4b8f62e9
7
+ data.tar.gz: '08768ea045c1e27f32b5c7147148064cab41baecdf4b6cd499e9c53aad17754b782c9cfd6e52b55ad43723389607907e7dee9648640d36a6ec26c36ae0d43537'
data/NATIVE_VERSION CHANGED
@@ -1 +1 @@
1
- v0.6.111
1
+ v0.6.112
@@ -80,26 +80,25 @@ module Asherah
80
80
  attach_function :asherah_factory_free, [:pointer], :void
81
81
  attach_function :asherah_factory_get_session, [:pointer, :string], :pointer
82
82
  attach_function :asherah_session_free, [:pointer], :void
83
- # encrypt/decrypt block on the metastore (MySQL/Postgres/DynamoDB) and
84
- # KMS during cache misses. blocking: true frees the GVL so other Ruby
85
- # threads stay schedulable while the native call is in-flight.
86
83
  attach_function :asherah_encrypt_to_json,
87
- [:pointer, :buffer_in, :size_t, :pointer], :int, blocking: true
84
+ [:pointer, :buffer_in, :size_t, :pointer], :int
88
85
  attach_function :asherah_decrypt_from_json,
89
- [:pointer, :buffer_in, :size_t, :pointer], :int, blocking: true
86
+ [:pointer, :buffer_in, :size_t, :pointer], :int
90
87
  attach_function :asherah_buffer_free, [:pointer], :void
91
88
 
92
89
  # Async callback type: void(user_data, result_data, result_len, error_message)
93
90
  callback :asherah_completion_fn, [:pointer, :pointer, :size_t, :string], :void
94
- # The async entry points only enqueue work onto the Rust tokio runtime
95
- # before returning, so they're brief but mark them blocking anyway so
96
- # a queue-full backpressure stall doesn't pin the GVL.
91
+ # The async entry points only enqueue work onto the Rust tokio runtime and
92
+ # return immediately. The encrypt/decrypt work, the metastore/KMS I/O, and
93
+ # the completion callback all run on tokio worker threads — never on the
94
+ # calling Ruby thread — so there is no GVL-held native I/O to release for.
95
+ # The enqueue is an unbounded tokio spawn (no bounded queue, so no
96
+ # backpressure stall to guard against); blocking: true would only add GVL
97
+ # release/reacquire overhead to an otherwise instant call.
97
98
  attach_function :asherah_encrypt_to_json_async,
98
- [:pointer, :buffer_in, :size_t, :asherah_completion_fn, :pointer], :int,
99
- blocking: true
99
+ [:pointer, :buffer_in, :size_t, :asherah_completion_fn, :pointer], :int
100
100
  attach_function :asherah_decrypt_from_json_async,
101
- [:pointer, :buffer_in, :size_t, :asherah_completion_fn, :pointer], :int,
102
- blocking: true
101
+ [:pointer, :buffer_in, :size_t, :asherah_completion_fn, :pointer], :int
103
102
 
104
103
  # Log + metrics hooks. The C ABI does not own the callback closure — Ruby
105
104
  # must keep a reference to the FFI::Function it passes here for as long as
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Asherah
4
- VERSION = "0.10.2"
4
+ VERSION = "0.10.3"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asherah
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.2
4
+ version: 0.10.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jay Gowdy