Skip to content

Commit a28a865

Browse files
committed
Use ReadOnlyNativeBuffer<byte> for AllocateTokenizer()
1 parent 1b9382a commit a28a865

File tree

3 files changed

+6
-10
lines changed

3 files changed

+6
-10
lines changed

Native/src/lib.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -231,11 +231,10 @@ impl TokenizeOutputOverflowedToken
231231

232232
#[no_mangle]
233233
pub unsafe extern "C" fn allocate_tokenizer(
234-
json_bytes_ptr: *const u8,
235-
json_bytes_length: usize,
236-
) -> *mut Tokenizer
234+
json_bytes: ReadOnlyBuffer<u8>)
235+
-> *mut Tokenizer
237236
{
238-
let json_bytes = slice::from_raw_parts(json_bytes_ptr, json_bytes_length);
237+
let json_bytes = json_bytes.as_slice();
239238

240239
let tokenizer = Tokenizer::from_bytes(json_bytes).unwrap();
241240

Tokenizers.NET/Tokenizer.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -256,14 +256,11 @@ public bool Truncate
256256

257257
public Tokenizer()
258258
{
259-
var rawTokenizerData = Config.RawTokenizerData.Buffer;
259+
var rawTokenizerData = Config.RawTokenizerData.Buffer.AsReadOnly();
260260

261261
Allocator = new();
262262

263-
TokenizerHandle = TokenizerNativeMethods.AllocateTokenizer(
264-
rawTokenizerData.Ptr,
265-
rawTokenizerData.Length
266-
);
263+
TokenizerHandle = TokenizerNativeMethods.AllocateTokenizer(rawTokenizerData);
267264
}
268265

269266
[SkipLocalsInit]

Tokenizers.NET/TokenizerNativeMethods.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ internal static unsafe partial class TokenizerNativeMethods
99
private const string DLL_NAME = "tokenizers_net";
1010

1111
[LibraryImport(DLL_NAME, EntryPoint = "allocate_tokenizer")]
12-
public static partial nint AllocateTokenizer(byte* jsonBytesPtr, nuint jsonBytesLength);
12+
public static partial nint AllocateTokenizer(ReadOnlyNativeBuffer<byte> jsonBytes);
1313

1414
[LibraryImport(DLL_NAME, EntryPoint = "free_tokenizer")]
1515
public static partial void FreeTokenizer(nint tokenizerHandle);

0 commit comments

Comments
 (0)