asherah 0.10.1-aarch64-linux → 0.10.3-aarch64-linux

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: b7c5fccb13d0c1617f5b063ff214e76bdd1f8003d5858baae801ea7e52f663d5
4
- data.tar.gz: 1332860879b52ff9c58dbd14515bc5ae361d993306e545ff1ae84dd4d207f5bb
3
+ metadata.gz: dac271da7189cd9f50bf06018d7bdca94bc1e1cf275d3062ba3a246e7b735459
4
+ data.tar.gz: 357feb48d2e0ac7ad1a51c658fc89553c669728e27c7362388df4c1fcfbdb89f
5
5
  SHA512:
6
- metadata.gz: 2a2941c03f970770ad1218095bd1b7082b749b8bd21a2732e2974abef1be402d4f251f29716dc9eb67bd5ae7a79d67b1adeb86d8d1efe04ca49e00b3de53ead9
7
- data.tar.gz: 8e4dee620411e8d5b868f3902b746805e06b245c2f35f10bf8b26bbafdaf1e463bcab999c0e08fe55cdc86af7f897190d19e6a21ae359d0e54d9de8a11e3eb13
6
+ metadata.gz: d6e3eb29e862d19573fef59170f6ebde28588735a2f57cef941c6c629818470a1da0935e9c95525e7aff5a9217c07181dd6d0e1538dddaf28ab8fb993bc518c7
7
+ data.tar.gz: daf254ef652c2a30029c69f7a60ca2ed80885b440d46b13aa4dd11d06499fc3f727eabbf88ba0f6f7ced94399d15dc785dd19642c411dcd4b318f5d8ee45cd78
Binary file
@@ -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.1"
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.1
4
+ version: 0.10.3
5
5
  platform: aarch64-linux
6
6
  authors:
7
7
  - Jay Gowdy
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2026-06-05 00:00:00.000000000 Z
14
+ date: 2026-06-09 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: ffi