Skip to content

feat(interpose): route peripheral GATT server#10

Merged
0xnirapod merged 1 commit into
mainfrom
feat/interpose-peripheral
Jun 29, 2026
Merged

feat(interpose): route peripheral GATT server#10
0xnirapod merged 1 commit into
mainfrom
feat/interpose-peripheral

Conversation

@athexweb3

Copy link
Copy Markdown
Contributor

Build the interposer side of the peripheral (GATT server) role, mirroring the central role. Swizzle CBPeripheralManager so a guest app's publish, advertise, respond, and notify calls route to the host, and deliver the host's peripheral events back as the guest's own CBPeripheralManagerDelegate callbacks on its queue. Adds the seven peripheral client-transport functions, the peripheral shadow objects (CBMutableService/CBMutableCharacteristic tracking, shadow CBCentral and CBATTRequest), and extends the C tests. A non-managed CoreBluetooth user passes through untouched; the wire protocol and the fence are unchanged.

Swizzle CBPeripheralManager to route a guest's GATT-server calls (publish, advertise, respond,
notify) to the host, and deliver the host's peripheral events as the guest's delegate callbacks.
Adds the seven peripheral client-transport functions and the peripheral shadow objects.
@athexweb3
athexweb3 requested a review from a team as a code owner June 29, 2026 05:34
@0xnirapod
0xnirapod merged commit 8088155 into main Jun 29, 2026
3 checks passed
@0xnirapod
0xnirapod deleted the feat/interpose-peripheral branch June 29, 2026 05:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants