世界 00e7b652b5 usbip: fix iso frame rebase, empty-devices, and lease visibility
Three review findings shared one shape: a contract documented in
comments but reimplemented at each call site. Each fix collapses
the contract into a single named home.

- RebaseFrame now rounds up to the least frame >= currentFrame
  with the matching low 8 bits, so scheduled iso submits never
  land in the past. The .m bridge trusts the asap flag instead
  of treating start_frame=0 as ASAP, which also fixes a latent
  int32-wraparound path.
- NewServerService and NewClientService reject empty devices
  with a clear error instead of starting up exporting nothing.
- exportLedger.reservedLocked unifies busy + outstanding lease;
  AvailableExports and snapshotDeviceState consult it so legacy
  devlist and control snapshots no longer advertise a leased
  busid as available. IsBusy renamed to IsReserved across the
  ExportHost interface and call sites.

Two supporting deepenings:
- Drop FrameOracle/IsoScheduler; iso submit is now the free
  EncodeIsoSubmit(currentFrame, ...). The darwin endpoint holds
  currentFrame func() uint64.
- Extract SelectMatches; host_linux and host_darwin Reconcile
  loops share the match/dedup step.
2026-06-09 10:42:31 +08:00
2026-06-09 10:42:24 +08:00
2026-06-03 16:33:44 +08:00
2026-06-08 08:51:45 +08:00
2026-06-08 08:52:25 +08:00
2026-05-13 23:39:27 +08:00
2026-06-09 10:42:25 +08:00
2026-06-08 08:51:38 +08:00
2026-03-01 12:30:43 +08:00
2026-06-03 12:56:36 +08:00
2026-02-27 14:58:06 +08:00
2026-02-15 21:10:44 +08:00
2024-02-24 13:20:27 +08:00
2026-06-08 08:51:41 +08:00
2025-04-29 20:45:19 +08:00
2023-12-29 18:00:40 +08:00
2023-12-29 18:00:40 +08:00
2026-02-26 14:13:32 +08:00
2026-06-08 08:51:51 +08:00
2026-06-08 08:51:51 +08:00
2023-03-27 08:20:51 +08:00
2026-06-03 12:56:36 +08:00
2026-04-20 09:49:39 +08:00

sing-box

The universal proxy platform.

Packaging status

Documentation

https://sing-box.sagernet.org

License

Copyright (C) 2022 by nekohasekai <contact-sagernet@sekai.icu>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

In addition, no derivative work may use the name or imply association
with this application without prior consent.
S
Description
No description provided
Readme 52 MiB
Languages
Go 97.2%
Shell 1.6%
Objective-C 0.8%
Makefile 0.2%
C 0.2%