diff options
-rw-r--r-- | config.go | 15 | ||||
-rw-r--r-- | docs/cca.scfg.example | 4 | ||||
-rw-r--r-- | ws.go | 1 |
3 files changed, 14 insertions, 6 deletions
@@ -68,9 +68,10 @@ var configWithPointers struct { Expr *int `scfg:"expr"` } `scfg:"auth"` Perf struct { - MessageArgumentsCap *int `scfg:"msg_args_cap"` - MessageBytesCap *int `scfg:"msg_bytes_cap"` - ReadHeaderTimeout *int `scfg:"read_header_timeout"` + MessageArgumentsCap *int `scfg:"msg_args_cap"` + MessageBytesCap *int `scfg:"msg_bytes_cap"` + ReadHeaderTimeout *int `scfg:"read_header_timeout"` + CourseUpdateInterval *int `scfg:"course_update_interval"` } `scfg:"perf"` } @@ -104,9 +105,10 @@ var config struct { Expr int } Perf struct { - MessageArgumentsCap int - MessageBytesCap int - ReadHeaderTimeout int + MessageArgumentsCap int + MessageBytesCap int + ReadHeaderTimeout int + CourseUpdateInterval int } `scfg:"perf"` } @@ -166,6 +168,7 @@ func fetchConfig(path string) error { config.Perf.MessageArgumentsCap = *(configWithPointers.Perf.MessageArgumentsCap) config.Perf.MessageBytesCap = *(configWithPointers.Perf.MessageBytesCap) config.Perf.ReadHeaderTimeout = *(configWithPointers.Perf.ReadHeaderTimeout) + config.Perf.CourseUpdateInterval = *(configWithPointers.Perf.CourseUpdateInterval) return nil } diff --git a/docs/cca.scfg.example b/docs/cca.scfg.example index 5785d06..c33293b 100644 --- a/docs/cca.scfg.example +++ b/docs/cca.scfg.example @@ -96,4 +96,8 @@ perf { # time out? Note that a large value may cause the server to be # vulnerable to Slow Loris attacks. read_header_timeout 5 + + # How long, in milliseconds, do we wait before propagating course + # number update events for conjunction between course and user? + course_update_interval 200 } @@ -351,6 +351,7 @@ func handleConn( case usemParent <- courseID: } } + time.Sleep(time.Duration(config.Perf.CourseUpdateInterval) * time.Millisecond) } }() } |