Skip to content

Phase 7 SP3: làn bulk qua Bluetooth (kênh 0x02) - #16

Open
xuandung38 wants to merge 14 commits into
mainfrom
feat/p07-sp3-bulk-bluetooth
Open

xuandung38 wants to merge 14 commits into
mainfrom
feat/p07-sp3-bulk-bluetooth

Conversation

@xuandung38

Copy link
Copy Markdown
Contributor

Làn bulk qua Bluetooth (kênh 0x02) cho ảnh và clipboard lớn khi không có mạng: contract spec 0.4.7, tiến độ từ 128 KiB, ghi chú Bluetooth trên tiến độ. Thứ tự merge: shared → android → apple → hub. Merge bằng 'Create a merge commit'.

Tests for bulk rules 1-8 on the in-memory pipe: chunks travel on channel
0x02, control overtakes bulk, a 10 MiB image completes, and the negative
cases (message over BT_MESSAGE_MAX, long flag or oversized fragment on
0x02, .binary rejected). They fail to compile until the lane exists.
ChannelMessage.bulkText travels on channel 0x02 with BT_BULK_QUEUED
backpressure; reassembled bulk messages are handed up as .text and capped
at BT_MESSAGE_MAX; .binary is rejected because the HL frame of 0.5.2 never
travels on Bluetooth. WebSocketChannel and RelayPeerChannel send .bulkText
as a text frame, so the envelope wire format is the same on every route.
…Peer

The sender picks the lane (0.4.7 bulk rule 2); the default stays control.
Transfer push, chunks, cancel, the ack of a transfer push and the conflict
that follows it go on the bulk lane (0.4.7 bulk rule 1); inline clips stay on control.
… 10 MiB image over Bluetooth

Covers 0.4.7 bulk rules 1, 4, 6 and 7: the engine picks the lane per CLIP-03
envelope, a control envelope goes between bulk fragments, the bulk send waits
when BT_BULK_QUEUED envelopes are pending, a 10 MiB image arrives whole and in
order through the in-memory pipe, and .bulkText stays one text frame on a real
WebSocket (LAN regression).
…and 10)

Over Bluetooth progress shows from BULK_DIRECT_MIN and is marked as a
Bluetooth transfer; on the LAN and the relay it still needs more than 1 MiB.
They fail to compile until the engine knows the session route.
… the Bluetooth note

The clipboard engine now knows the session route. Over Bluetooth a transfer of
at least BULK_DIRECT_MIN (128 KiB) shows progress, in both directions; on the
LAN and the relay the threshold stays 1 MiB. ClipboardProgress.overBluetooth
tells the UI to add the note of CLIP-03 field 10.
One UTF-8 conversion for complete Bluetooth messages and a readable binding
name in RelayPeerChannel.
BluetoothBulkLaneTests was over the file length limit; the streams are shared
by the lane tests, so they live in BluetoothTestStreams now. The unused
blocking stream goes away.
…eb92ad

Adds clipboard.bulk_bluetooth_sending and clipboard.bulk_bluetooth_receiving (CLIP-03 field 10) to the String Catalog, the .lproj fallback and L10n.

Signed-off-by: Hồ Xuân Dũng <me@hxd.vn>
… (CLIP-03 field 10)

Signed-off-by: Hồ Xuân Dũng <me@hxd.vn>
…the menu bar (CLIP-03 field 10)

Signed-off-by: Hồ Xuân Dũng <me@hxd.vn>
…, bỏ chuỗi tiếng Việt khỏi thông điệp lập trình

Signed-off-by: Hồ Xuân Dũng <me@hxd.vn>
TracingChannel.describe phải phủ đủ ChannelMessage sau khi kênh bulk thêm case bulkText.
Chỉ ghi số byte UTF-8, không in nội dung envelope.

Signed-off-by: Hồ Xuân Dũng <me@hxd.vn>

This branch has not been deployed

No deployments
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.

1 participant