Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | {courses,wsc}.go: Atomic 64-bit alignment | Runxi Yu | 2024-10-09 | 1 | -1/+1 |
| | |||||
* | wsc.go: Use sync.Map for cancelPool to reduce lock contention | Runxi Yu | 2024-10-09 | 1 | -21/+10 |
| | |||||
* | *.go: Update comments | Runxi Yu | 2024-10-09 | 1 | -0/+1 |
| | |||||
* | *.go: Use sync.Map instead of map[int]*courseT for courses | Runxi Yu | 2024-10-09 | 1 | -15/+28 |
| | | | | I'm not sure whether this is actually better than locking. | ||||
* | {courses,wsc,wsp}.go: Usems should be sync.Map | Runxi Yu | 2024-10-09 | 1 | -10/+2 |
| | | | | | This is a classic few-reads, many-writes situation where a sync.Map would lead to substantially less lock contention. | ||||
* | {courses,wsc,wsm}.go: map[courseGroupT](bool->struct{}) | Runxi Yu | 2024-10-08 | 1 | -1/+1 |
| | | | | | This makes it use slightly less memory. Approximately courseGroupT bits per connection! | ||||
* | *.go: Further wrap errors | Runxi Yu | 2024-10-08 | 1 | -3/+7 |
| | |||||
* | Reapply "{config,wsc}.go, cca.scfg.example: Dynamic course update delay" | Runxi Yu | 2024-10-07 | 1 | -1/+11 |
| | | | | This reverts commit 831040c3d7dbc116a25848786bc5ab83fef6149b. | ||||
* | Revert "{config,wsc}.go, cca.scfg.example: Dynamic course update delay" | Runxi Yu | 2024-10-07 | 1 | -11/+1 |
| | | | | This reverts commit de3f0b9e7003e4521f5ea866134e77ff859ab99b. | ||||
* | wsc.go: Fix race condition with usemCount atomics | Runxi Yu | 2024-10-07 | 1 | -1/+6 |
| | | | | Atomics must be read atomically via atomic.LoadT | ||||
* | *.go: Limit to approximately 80 characters per line | Runxi Yu | 2024-10-06 | 1 | -10/+57 |
| | |||||
* | {config,wsc}.go, cca.scfg.example: Dynamic course update delay | Runxi Yu | 2024-10-06 | 1 | -1/+6 |
| | |||||
* | {courses,wsc,wsm,wsp}.go: Send course number immediately on user interaction | Runxi Yu | 2024-10-06 | 1 | -9/+2 |
| | |||||
* | *: Overhaul structure again and embed everything | Runxi Yu | 2024-10-06 | 1 | -0/+266 |
| | | | | | | | | - Remove sub-Makefiles; recursive make is annoying - Just use one top-level Makefile that builds everything - Embed templates and minified static resources into the binary - Embed all compiled documentation into the binary and serve - Embed all source into the binary and serve | ||||
* | *.go: Move to backend | Runxi Yu | 2024-10-05 | 1 | -266/+0 |
| | | | | And adjust Makefiles, admin handbook, and lint.sh accordingly. | ||||
* | {,u}sem.go, ws*.go: Restructure files | Runxi Yu | 2024-10-05 | 1 | -0/+266 |