Skip to content

Commit 0f99d87

Browse files
committed
---
yaml --- r: 98280 b: refs/heads/master c: 67d83ac h: refs/heads/master v: v3
1 parent 18a616e commit 0f99d87

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 188167c4b3ab42f1d0dc793365819afe28719df5
2+
refs/heads/master: 67d83ac40af2c2e20c44e4c16b53e500880a7439
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: b6400f998497c3958f40997a71756ead344a776d
55
refs/heads/try: c274a6888410ce3e357e014568b43310ed787d36

trunk/doc/guide-ffi.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,12 @@ channel where the writing end (`Chan`) is used exclusively from the C callback
329329
to queue events. The reading end (`Port`) is used in the Rust task which owns
330330
the wrapper object.
331331

332+
Depending on the type of data in the event you might want to convert callback
333+
data from C into a more suitable Rust structure before sending it into the
334+
channel. E.g. it makes sense to convert C strings (`char*`) into Rust strings.
335+
You could also use Rust enumerations to differentiate between multiple types
336+
of events and their data.
337+
332338
Putting this together a wrapper for a library that uses a background thread
333339
that sends events could look like:
334340

0 commit comments

Comments
 (0)