aboutsummaryrefslogtreecommitdiff
path: root/wsc.go (follow)
Commit message (Expand)AuthorAgeFilesLines
* wsc.go: Check newCtx.Done() when entering other event casesRunxi Yu2024-10-101-12/+25
* {courses,wsc}.go: Atomic 64-bit alignmentRunxi Yu2024-10-091-1/+1
* wsc.go: Use sync.Map for cancelPool to reduce lock contentionRunxi Yu2024-10-091-21/+10
* *.go: Update commentsRunxi Yu2024-10-091-0/+1
* *.go: Use sync.Map instead of map[int]*courseT for coursesRunxi Yu2024-10-091-15/+28
* {courses,wsc,wsp}.go: Usems should be sync.MapRunxi Yu2024-10-091-10/+2
* {courses,wsc,wsm}.go: map[courseGroupT](bool->struct{})Runxi Yu2024-10-081-1/+1
* *.go: Further wrap errorsRunxi Yu2024-10-081-3/+7
* Reapply "{config,wsc}.go, cca.scfg.example: Dynamic course update delay"Runxi Yu2024-10-071-1/+11
* Revert "{config,wsc}.go, cca.scfg.example: Dynamic course update delay"Runxi Yu2024-10-071-11/+1
* wsc.go: Fix race condition with usemCount atomicsRunxi Yu2024-10-071-1/+6
* *.go: Limit to approximately 80 characters per lineRunxi Yu2024-10-061-10/+57
* {config,wsc}.go, cca.scfg.example: Dynamic course update delayRunxi Yu2024-10-061-1/+6
* {courses,wsc,wsm,wsp}.go: Send course number immediately on user interactionRunxi Yu2024-10-061-9/+2
* *: Overhaul structure again and embed everythingRunxi Yu2024-10-061-0/+266
* *.go: Move to backendRunxi Yu2024-10-051-266/+0
* {,u}sem.go, ws*.go: Restructure filesRunxi Yu2024-10-051-0/+266