YunDaeHyeon
← 미러링부스

Browser 리팩터링 일지

2026.02적용 완료

콜백 구조를 AsyncStream으로 개편하고, 다중 구독 이벤트는 1차에서 Combine을 유지했다가 후속 PR에서 옮겼습니다.

판단

  • 프로토콜 추출을 통한 완전한 테스트 가능 구조도 검토했지만, 이번 범위에는 과한 대규모 리팩터링이라 보류
  • 클로저로 되어 있던 콜백은 AsyncStream(BrowserEvents enum)으로 점진 이전
  • 원래 Combine으로 되어 있던 onStartTransferCommand는 두 곳에서 동시에 구독해야 해서, 코드 중복을 피하려고 1차(PR #275)에서는 Combine을 유지했고 후속(PR #287)에서 AsyncStream으로 옮김

근거

  • 이벤트 손실이 있으면 안 된다는 이유로 버퍼 정책을 기본값 unbounded로 설정
  • 1차에서는 '통일성'보다 '코드 중복 방지와 안전한 리팩터링'을 우선한 절충

관련 프로젝트