Prechádzať zdrojové kódy

SVI Изменение/расширение кода

SVI 6 mesiacov pred
rodič
commit
563ed4eb4d
100 zmenil súbory, kde vykonal 330 pridanie a 251 odobranie
  1. 0 0
      .env
  2. 12 10
      README.md
  3. 52 0
      Taskfile.yml
  4. 2 2
      cmd/demo/main.go
  5. 2 2
      cmd/demo/main_test.go
  6. 0 0
      demo.sh
  7. 0 0
      docs/alias.md
  8. 0 0
      docs/helpers.md
  9. 0 0
      docs/idict_topic_serve.md
  10. 0 0
      docs/img/coverage.png
  11. 0 0
      docs/img/coverage.svg
  12. 0 0
      docs/img/mit.png
  13. 0 0
      docs/img/mit.svg
  14. 0 0
      docs/img/ucl.png
  15. 0 0
      docs/img/ucl.svg
  16. 0 0
      docs/index.md
  17. 0 0
      docs/types.md
  18. 5 4
      go.mod
  19. 8 6
      go.sum
  20. 1 1
      kc/helpers/helpers.go
  21. 0 0
      kc/helpers/helpers_test.go
  22. 3 3
      kc/local_ctx/ctx_value/ctx_value.go
  23. 2 2
      kc/local_ctx/ctx_value/ctx_value_test.go
  24. 10 10
      kc/local_ctx/local_ctx.go
  25. 0 0
      kc/local_ctx/local_ctx_test.go
  26. 2 2
      kc/local_ctx/lst_sort/lst_sort.go
  27. 1 1
      kc/local_ctx/lst_sort/lst_sort_test.go
  28. 29 8
      kc/log_buf/log_buf.go
  29. 3 3
      kc/log_buf/log_buf_test.go
  30. 2 2
      kc/log_buf/log_bus/log_bus.go
  31. 0 0
      kc/log_buf/log_bus/log_bus_test.go
  32. 3 3
      kc/log_buf/log_bus/log_topic/log_topic.go
  33. 2 2
      kc/log_buf/log_bus/log_topic/log_topic_test.go
  34. 3 3
      kc/log_buf/log_msg/log_msg.go
  35. 0 0
      kc/log_buf/log_msg/log_msg_test.go
  36. 1 1
      kc/safe_bool/safe_bool.go
  37. 1 1
      kc/safe_bool/safe_bool_test.go
  38. 2 2
      kc/safe_bool_react/safe_bool_react.go
  39. 1 1
      kc/safe_bool_react/safe_bool_react_test.go
  40. 1 1
      kc/safe_int/safe_int.go
  41. 1 1
      kc/safe_int/safe_int_test.go
  42. 1 1
      kc/safe_string/safe_string.go
  43. 1 1
      kc/safe_string/safe_string_test.go
  44. 25 25
      kern.go
  45. 3 2
      kern_test.go
  46. 0 0
      krn/kalias/kalias.go
  47. 0 0
      krn/kalias/kalias_test.go
  48. 4 4
      krn/kbus/dict_sub_hook/dict_sub_hook.go
  49. 1 1
      krn/kbus/dict_sub_hook/dict_sub_hook_test.go
  50. 4 4
      krn/kbus/dict_topic_serve/dict_topic_serve.go
  51. 2 2
      krn/kbus/dict_topic_serve/dict_topic_serve_test.go
  52. 5 5
      krn/kbus/dict_topic_sub/dict_topic_sub.go
  53. 2 2
      krn/kbus/dict_topic_sub/dict_topic_sub_test.go
  54. 8 8
      krn/kbus/kbus_base/kbus_base.go
  55. 4 4
      krn/kbus/kbus_base/kbus_base_test.go
  56. 11 11
      krn/kbus/kbus_http/client_bus_http/client_bus_http.go
  57. 8 8
      krn/kbus/kbus_http/client_bus_http/client_bus_http_test.go
  58. 9 9
      krn/kbus/kbus_http/kbus_http.go
  59. 10 10
      krn/kbus/kbus_http/kbus_http_test.go
  60. 2 2
      krn/kbus/kbus_local/client_bus_local/client_bus_local.go
  61. 1 1
      krn/kbus/kbus_local/client_bus_local/client_bus_local_test.go
  62. 2 2
      krn/kbus/kbus_local/kbus_local.go
  63. 3 3
      krn/kbus/kbus_local/kbus_local_test.go
  64. 2 2
      krn/kbus/kbus_msg/msg_pub/msg_pub.go
  65. 0 0
      krn/kbus/kbus_msg/msg_pub/msg_pub_test.go
  66. 2 2
      krn/kbus/kbus_msg/msg_serve/msg_serve.go
  67. 0 0
      krn/kbus/kbus_msg/msg_serve/msg_serve_test.go
  68. 2 2
      krn/kbus/kbus_msg/msg_sub/msg_sub.go
  69. 0 0
      krn/kbus/kbus_msg/msg_sub/msg_sub_test.go
  70. 2 2
      krn/kbus/kbus_msg/msg_unsub/msg_unsub.go
  71. 0 0
      krn/kbus/kbus_msg/msg_unsub/msg_unsub_test.go
  72. 4 4
      krn/kctx/kctx.go
  73. 0 0
      krn/kctx/kctx_test.go
  74. 8 8
      krn/kctx/kernel_keeper/kernel_keeper.go
  75. 2 2
      krn/kctx/kernel_keeper/kernel_keeper_test.go
  76. 13 13
      krn/kctx/kwg/kwg.go
  77. 1 1
      krn/kctx/kwg/kwg_test.go
  78. 9 9
      krn/kmodule/kmodule.go
  79. 3 3
      krn/kmodule/kmodule_test.go
  80. 6 6
      krn/kmodule/mod_stat/mod_stat.go
  81. 1 1
      krn/kmodule/mod_stat/mod_stat_day/mod_stat_day.go
  82. 0 0
      krn/kmodule/mod_stat/mod_stat_day/mod_stat_day_test.go
  83. 0 0
      krn/kmodule/mod_stat/mod_stat_minute/mod_stat_minute.go
  84. 0 0
      krn/kmodule/mod_stat/mod_stat_minute/mod_stat_minute_test.go
  85. 0 0
      krn/kmodule/mod_stat/mod_stat_sec/mod_stat_sec.go
  86. 0 0
      krn/kmodule/mod_stat/mod_stat_sec/mod_stat_sec_test.go
  87. 0 0
      krn/kmodule/mod_stat/mod_stat_test.go
  88. 6 6
      krn/kmonolit/kmonolit.go
  89. 5 5
      krn/kmonolit/kmonolit_test.go
  90. 5 5
      krn/kserv_http/kserv_http.go
  91. 4 4
      krn/kserv_http/kserv_http_test.go
  92. 0 0
      krn/kserv_http/static/css/bootstrap-grid.min.css
  93. 0 0
      krn/kserv_http/static/css/bootstrap-grid.min.css.map
  94. 0 0
      krn/kserv_http/static/css/bootstrap-grid.rtl.min.css
  95. 0 0
      krn/kserv_http/static/css/bootstrap-grid.rtl.min.css.map
  96. 0 0
      krn/kserv_http/static/css/bootstrap-reboot.min.css
  97. 0 0
      krn/kserv_http/static/css/bootstrap-reboot.min.css.map
  98. 0 0
      krn/kserv_http/static/css/bootstrap-reboot.rtl.min.css
  99. 0 0
      krn/kserv_http/static/css/bootstrap-reboot.rtl.min.css.map
  100. 0 0
      krn/kserv_http/static/css/bootstrap-utilities.min.css

+ 0 - 0
v2/.env → .env


+ 12 - 10
README.md

@@ -1,6 +1,6 @@
 # kern
 
-![Coverage](./v2/docs/img/coverage.png)
+![Coverage](./docs/img/coverage.png)
 
 ![MX Linux](https://img.shields.io/badge/-MX%20Linux-%23000000?style=for-the-badge&logo=MXlinux&logoColor=white)
 
@@ -10,9 +10,9 @@
 
 ![Visual Studio Code](https://img.shields.io/badge/Visual%20Studio%20Code-0078d7.svg?style=for-the-badge&logo=visual-studio-code&logoColor=white)
 
-![License: UCL](./v2/docs/img/ucl.png) / ![License: MIT](./v2/docs/img/mit.png)
+![License: UCL](./docs/img/ucl.png) / ![License: MIT](./docs/img/mit.png)
 
-**kern v2** -- фреймворк модульных компонентов ядра с высокой надёжностью для любого микросервиса или модульного монолита. Позволяет создавать изолированные модули в составе монолита (полезно в начале разработки). А затем модули можно выносить в отдельные микросервисы (после отладки).
+**kern v3** -- фреймворк модульных компонентов ядра с высокой надёжностью для любого микросервиса или модульного монолита. Позволяет создавать изолированные модули в составе монолита (полезно в начале разработки). А затем модули можно выносить в отдельные микросервисы (после отладки).
 
 ## Контакты
 
@@ -43,18 +43,20 @@ TODO: update
 
 ## Лицензия
 
-v1, v2 (код открытый, [лицензия UCL](./LICENSE.md) или `MIT` .)
+v1, v2, v3 (код открытый, [лицензия UCL](./LICENSE.md) или `MIT` .)
 
 ## Команды сборки
 
 ```bash
-make      # Запуск демо
-make demo # -//-
-make mod  # Обновление зависимостей
-make test # Запуск тестов
-make lint # Запуск линтеров
+$ task -a
+task: Available tasks for this project:
+* default:       Вывод справки
+* demo:          Запуск демо-проекта
+* lint:          Запуск всех линтеров
+* mod:           Обновление зависимостей
+* test:          Запуск тестов
 ```
 
 ## Документация
 
-[Документация](./v2/docs/index.md)
+[Документация](./docs/index.md)

+ 52 - 0
Taskfile.yml

@@ -0,0 +1,52 @@
+# https://taskfile.dev
+
+version: '3'
+
+vars:
+  HELP: Для просмотра всех задач запустите 'task -a'
+
+dotenv: [.env]
+
+tasks:
+  default:
+    desc: Вывод справки
+    cmds:
+      - echo "{{.HELP}}"
+    silent: true
+  demo:
+    desc: Запуск демо-проекта
+    cmds:
+      - clear
+      - go fmt ./...
+      - go build -race -o ./bin_dev/demo ./cmd/demo/main.go
+  mod:
+    desc: Обновление зависимостей
+    cmds:
+      - clear
+      - go fmt ./...
+      - go mod tidy -compat=1.24.2
+      - go mod vendor
+      - go fmt ./...
+  test:
+    desc: Запуск тестов
+    cmds:
+      - clear
+      - go fmt ./...
+      - go test -race -shuffle=on -timeout=30s -coverprofile=./cover.out ./...
+      - go tool cover -func=./cover.out
+  lint:
+    desc: Запуск всех линтеров
+    cmds:
+      - clear
+      - go fmt ./...
+      - go vet ./...
+      # - go install honnef.co/go/tools/cmd/staticcheck@latest
+      # - staticcheck ./...
+      # - go install github.com/MakeNowJust/enumcase/cmd/enumcase@latest
+      # - enumcase ./...
+      - go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
+      - golangci-lint run ./...
+      # - go install github.com/fzipp/gocyclo/cmd/gocyclo@latest
+      # - gocyclo -over 11 .
+      # - go install github.com/securego/gosec/cmd/gosec@latest
+      # - gosec ./...

+ 2 - 2
v2/cmd/demo/main.go → cmd/demo/main.go

@@ -2,8 +2,8 @@
 package main
 
 import (
-	"gitp78su.ipnodns.ru/svi/kern/v2"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	"gitp78su.ipnodns.ru/svi/kern"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 var app IKernelMonolit

+ 2 - 2
v2/cmd/demo/main_test.go → cmd/demo/main_test.go

@@ -5,8 +5,8 @@ import (
 	"testing"
 	"time"
 
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kctx"
-	"gitp78su.ipnodns.ru/svi/kern/v2/mock/mock_env"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kctx"
+	"gitp78su.ipnodns.ru/svi/kern/mock/mock_env"
 )
 
 func TestMain(t *testing.T) {

+ 0 - 0
v2/demo.sh → demo.sh


+ 0 - 0
v2/docs/alias.md → docs/alias.md


+ 0 - 0
v2/docs/helpers.md → docs/helpers.md


+ 0 - 0
v2/docs/idict_topic_serve.md → docs/idict_topic_serve.md


+ 0 - 0
v2/docs/img/coverage.png → docs/img/coverage.png


+ 0 - 0
v2/docs/img/coverage.svg → docs/img/coverage.svg


+ 0 - 0
v2/docs/img/mit.png → docs/img/mit.png


+ 0 - 0
v2/docs/img/mit.svg → docs/img/mit.svg


+ 0 - 0
v2/docs/img/ucl.png → docs/img/ucl.png


+ 0 - 0
v2/docs/img/ucl.svg → docs/img/ucl.svg


+ 0 - 0
v2/docs/index.md → docs/index.md


+ 0 - 0
v2/docs/types.md → docs/types.md


+ 5 - 4
v2/go.mod → go.mod

@@ -1,4 +1,4 @@
-module gitp78su.ipnodns.ru/svi/kern/v2
+module gitp78su.ipnodns.ru/svi/kern
 
 go 1.24.2
 
@@ -12,18 +12,19 @@ require (
 require (
 	github.com/andybalholm/brotli v1.2.0 // indirect
 	github.com/cespare/xxhash/v2 v2.3.0 // indirect
-	github.com/clipperhouse/uax29/v2 v2.2.0 // indirect
+	github.com/clipperhouse/stringish v0.1.1 // indirect
+	github.com/clipperhouse/uax29/v2 v2.3.0 // indirect
 	github.com/dgraph-io/ristretto/v2 v2.3.0 // indirect
 	github.com/dustin/go-humanize v1.0.1 // indirect
 	github.com/go-logr/logr v1.4.3 // indirect
 	github.com/go-logr/stdr v1.2.2 // indirect
 	github.com/google/flatbuffers v25.9.23+incompatible // indirect
-	github.com/klauspost/compress v1.18.0 // indirect
+	github.com/klauspost/compress v1.18.1 // indirect
 	github.com/mattn/go-colorable v0.1.14 // indirect
 	github.com/mattn/go-isatty v0.0.20 // indirect
 	github.com/mattn/go-runewidth v0.0.19 // indirect
 	github.com/valyala/bytebufferpool v1.0.0 // indirect
-	github.com/valyala/fasthttp v1.67.0 // indirect
+	github.com/valyala/fasthttp v1.68.0 // indirect
 	go.opentelemetry.io/auto/sdk v1.2.1 // indirect
 	go.opentelemetry.io/otel v1.38.0 // indirect
 	go.opentelemetry.io/otel/metric v1.38.0 // indirect

+ 8 - 6
v2/go.sum → go.sum

@@ -7,8 +7,10 @@ github.com/andybalholm/brotli v1.2.0 h1:ukwgCxwYrmACq68yiUqwIWnGY0cTPox/M94sVwTo
 github.com/andybalholm/brotli v1.2.0/go.mod h1:rzTDkvFWvIrjDXZHkuS16NPggd91W3kUSvPlQ1pLaKY=
 github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
 github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
-github.com/clipperhouse/uax29/v2 v2.2.0 h1:ChwIKnQN3kcZteTXMgb1wztSgaU+ZemkgWdohwgs8tY=
-github.com/clipperhouse/uax29/v2 v2.2.0/go.mod h1:EFJ2TJMRUaplDxHKj1qAEhCtQPW2tJSwu5BF98AuoVM=
+github.com/clipperhouse/stringish v0.1.1 h1:+NSqMOr3GR6k1FdRhhnXrLfztGzuG+VuFDfatpWHKCs=
+github.com/clipperhouse/stringish v0.1.1/go.mod h1:v/WhFtE1q0ovMta2+m+UbpZ+2/HEXNWYXQgCt4hdOzA=
+github.com/clipperhouse/uax29/v2 v2.3.0 h1:SNdx9DVUqMoBuBoW3iLOj4FQv3dN5mDtuqwuhIGpJy4=
+github.com/clipperhouse/uax29/v2 v2.3.0/go.mod h1:Wn1g7MK6OoeDT0vL+Q0SQLDz/KpfsVRgg6W7ihQeh4g=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/dgraph-io/badger/v4 v4.8.0 h1:JYph1ChBijCw8SLeybvPINizbDKWZ5n/GYbz2yhN/bs=
@@ -33,8 +35,8 @@ github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX
 github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
 github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
-github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo=
-github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ=
+github.com/klauspost/compress v1.18.1 h1:bcSGx7UbpBqMChDtsF28Lw6v/G94LPrrbMbdC3JH2co=
+github.com/klauspost/compress v1.18.1/go.mod h1:ZQFFVG+MdnR0P+l6wpXgIL4NTtwiKIdBnrBd8Nrxr+0=
 github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
 github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
 github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
@@ -47,8 +49,8 @@ github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu
 github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
 github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
 github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
-github.com/valyala/fasthttp v1.67.0 h1:tqKlJMUP6iuNG8hGjK/s9J4kadH7HLV4ijEcPGsezac=
-github.com/valyala/fasthttp v1.67.0/go.mod h1:qYSIpqt/0XNmShgo/8Aq8E3UYWVVwNS2QYmzd8WIEPM=
+github.com/valyala/fasthttp v1.68.0 h1:v12Nx16iepr8r9ySOwqI+5RBJ/DqTxhOy1HrHoDFnok=
+github.com/valyala/fasthttp v1.68.0/go.mod h1:5EXiRfYQAoiO/khu4oU9VISC/eVY6JqmSpPJoHCKsz4=
 github.com/xyproto/randomstring v1.0.5 h1:YtlWPoRdgMu3NZtP45drfy1GKoojuR7hmRcnhZqKjWU=
 github.com/xyproto/randomstring v1.0.5/go.mod h1:rgmS5DeNXLivK7YprL0pY+lTuhNQW3iGxZ18UQApw/E=
 github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=

+ 1 - 1
v2/kc/helpers/helpers.go → kc/helpers/helpers.go

@@ -8,7 +8,7 @@ import (
 	"os"
 	"time"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/kalias"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/kalias"
 )
 
 var (

+ 0 - 0
v2/kc/helpers/helpers_test.go → kc/helpers/helpers_test.go


+ 3 - 3
v2/kc/local_ctx/ctx_value/ctx_value.go → kc/local_ctx/ctx_value/ctx_value.go

@@ -4,9 +4,9 @@ package ctx_value
 import (
 	"sync"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/kalias"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/kalias"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 // CtxValue -- потокобезопасное значение локального контекста

+ 2 - 2
v2/kc/local_ctx/ctx_value/ctx_value_test.go → kc/local_ctx/ctx_value/ctx_value_test.go

@@ -3,8 +3,8 @@ package ctx_value
 import (
 	"testing"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/kalias"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/kalias"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 type tester struct {

+ 10 - 10
v2/kc/local_ctx/local_ctx.go → kc/local_ctx/local_ctx.go

@@ -5,11 +5,11 @@ import (
 	"context"
 	"sync"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/local_ctx/ctx_value"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/local_ctx/lst_sort"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/log_buf"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	"gitp78su.ipnodns.ru/svi/kern/kc/local_ctx/ctx_value"
+	"gitp78su.ipnodns.ru/svi/kern/kc/local_ctx/lst_sort"
+	"gitp78su.ipnodns.ru/svi/kern/kc/log_buf"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 // LocalCtx -- локальный контекст
@@ -32,7 +32,7 @@ func NewLocalCtx(ctx context.Context) ILocalCtx {
 		fnCancel: fnCancel,
 		dictVal:  map[string]ICtxValue{},
 		lstSort:  lst_sort.NewLstSort(),
-		log:      log_buf.NewLogBuf(false),
+		log:      log_buf.NewLogBuf(log_buf.OptIsTerm(true), log_buf.OptPrefix("LocalCtx")),
 	}
 	return sf
 }
@@ -64,7 +64,7 @@ func (sf *LocalCtx) Get(key string) ICtxValue {
 	sf.RLock()
 	defer sf.RUnlock()
 	Hassert(key != "", "localCtx.Get(): key is empty")
-	sf.log.Debug("localCtx.Get(): key='%v'", key)
+	sf.log.Debug("Get(): key='%v'", key)
 	return sf.dictVal[key]
 }
 
@@ -72,7 +72,7 @@ func (sf *LocalCtx) Get(key string) ICtxValue {
 func (sf *LocalCtx) Del(key string) {
 	sf.Lock()
 	defer sf.Unlock()
-	sf.log.Debug("localCtx.Del(): key='%v'", key)
+	sf.log.Debug("Del(): key='%v'", key)
 	val := sf.dictVal[key]
 	delete(sf.dictVal, key)
 	sf.lstSort.Del(val)
@@ -82,7 +82,7 @@ func (sf *LocalCtx) Del(key string) {
 func (sf *LocalCtx) Set(key string, val any, comment string) {
 	sf.Lock()
 	defer sf.Unlock()
-	sf.log.Debug("localCtx.Set(): key='%v'", key)
+	sf.log.Debug("Set(): key='%v'", key)
 	_val, isOk := sf.dictVal[key]
 	if isOk {
 		val0 := _val.(*ctx_value.CtxValue)
@@ -104,6 +104,6 @@ func (sf *LocalCtx) Done() {
 
 // Cancel -- отменяет контекст
 func (sf *LocalCtx) Cancel() {
-	sf.log.Warn("localCtx.Cancel()")
+	sf.log.Warn("Cancel()")
 	sf.fnCancel()
 }

+ 0 - 0
v2/kc/local_ctx/local_ctx_test.go → kc/local_ctx/local_ctx_test.go


+ 2 - 2
v2/kc/local_ctx/lst_sort/lst_sort.go → kc/local_ctx/lst_sort/lst_sort.go

@@ -5,8 +5,8 @@ import (
 	"sort"
 	"sync"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 // LstSort -- сортированный список значений контекста

+ 1 - 1
v2/kc/local_ctx/lst_sort/lst_sort_test.go → kc/local_ctx/lst_sort/lst_sort_test.go

@@ -3,7 +3,7 @@ package lst_sort
 import (
 	"testing"
 
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/local_ctx/ctx_value"
+	"gitp78su.ipnodns.ru/svi/kern/kc/local_ctx/ctx_value"
 )
 
 type tester struct {

+ 29 - 8
v2/kc/log_buf/log_buf.go → kc/log_buf/log_buf.go

@@ -5,29 +5,50 @@ import (
 	"fmt"
 	"sync"
 
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/log_buf/log_msg"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/safe_bool"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	"gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	"gitp78su.ipnodns.ru/svi/kern/kc/log_buf/log_msg"
+	"gitp78su.ipnodns.ru/svi/kern/kc/safe_bool"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 // logBuf -- потокобезопасный буфер лога
 type logBuf struct {
 	sync.RWMutex
 	isTerm ISafeBool // Признак вывода в стандартный поток
+	prefix string    // Префикс для сообщений
 	lst    []ILogMsg
 	lstErr []ILogMsg
 }
 
+// OptionLogBuf -- опция для конфигурирования ILogBuf
+type OptionLogBuf func(logBuf *logBuf)
+
+// OptIsTerm -- устанавливает признак вывода в терминал
+func OptIsTerm(isTerm bool) OptionLogBuf {
+	return func(sf *logBuf) {
+		if isTerm {
+			sf.IsTerm().Set()
+		}
+	}
+}
+
+// OptPrefix -- устанавливает префикс в сообщениях
+func OptPrefix(prefix string) OptionLogBuf {
+	return func(sf *logBuf) {
+		sf.prefix = prefix + "."
+	}
+}
+
 // NewLogBuf -- возвращает новый потокобезопасный буфер лога
-func NewLogBuf(isTerm bool) ILogBuf {
+func NewLogBuf(opts ...OptionLogBuf) ILogBuf {
 	sf := &logBuf{
 		isTerm: safe_bool.NewSafeBool(),
 		lst:    []ILogMsg{},
 		lstErr: []ILogMsg{},
 	}
-	if isTerm {
-		sf.IsTerm().Set()
+
+	for _, opt := range opts {
+		opt(sf)
 	}
 	return sf
 }
@@ -42,7 +63,7 @@ func (sf *logBuf) GetErr(num int) ILogMsg {
 	sf.RLock()
 	defer sf.RUnlock()
 	if len(sf.lstErr) == 0 {
-		return log_msg.NewLogMsg(log_msg.DEBUG, "not error msg")
+		return log_msg.NewLogMsg(log_msg.DEBUG, sf.prefix+"not error msg")
 	}
 	if num >= len(sf.lstErr) {
 		return sf.lstErr[len(sf.lstErr)-1]

+ 3 - 3
v2/kc/log_buf/log_buf_test.go → kc/log_buf/log_buf_test.go

@@ -3,8 +3,8 @@ package log_buf
 import (
 	"testing"
 
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	"gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 type tester struct {
@@ -22,7 +22,7 @@ func TestLogBuf(t *testing.T) {
 // Создаёт новый буферный лог
 func (sf *tester) new() {
 	sf.t.Log("new")
-	sf.log = NewLogBuf(true)
+	sf.log = NewLogBuf(OptIsTerm(true), OptPrefix("tester"))
 	if sf.log == nil {
 		sf.t.Fatalf("new(): log==nil")
 	}

+ 2 - 2
v2/kc/log_buf/log_bus/log_bus.go → kc/log_buf/log_bus/log_bus.go

@@ -4,8 +4,8 @@ package log_bus
 import (
 	"sync"
 
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kalias"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kalias"
+	"gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 type LogDictTopic struct {

+ 0 - 0
v2/kc/log_buf/log_bus/log_bus_test.go → kc/log_buf/log_bus/log_bus_test.go


+ 3 - 3
v2/kc/log_buf/log_bus/log_topic/log_topic.go → kc/log_buf/log_bus/log_topic/log_topic.go

@@ -4,9 +4,9 @@ package log_topic
 import (
 	"fmt"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/kalias"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/kalias"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 // LogTopic -- элемент лога шины

+ 2 - 2
v2/kc/log_buf/log_bus/log_topic/log_topic_test.go → kc/log_buf/log_bus/log_topic/log_topic_test.go

@@ -3,8 +3,8 @@ package log_topic
 import (
 	"testing"
 
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/kbus_local/client_bus_local"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kctx"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_local/client_bus_local"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kctx"
 )
 
 type tester struct {

+ 3 - 3
v2/kc/log_buf/log_msg/log_msg.go → kc/log_buf/log_msg/log_msg.go

@@ -4,9 +4,9 @@ package log_msg
 import (
 	"fmt"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/kalias"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/kalias"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 const (

+ 0 - 0
v2/kc/log_buf/log_msg/log_msg_test.go → kc/log_buf/log_msg/log_msg_test.go


+ 1 - 1
v2/kc/safe_bool/safe_bool.go → kc/safe_bool/safe_bool.go

@@ -7,7 +7,7 @@ import (
 	"strings"
 	"sync"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 // safeBool -- потокобезопасный булевый признак

+ 1 - 1
v2/kc/safe_bool/safe_bool_test.go → kc/safe_bool/safe_bool_test.go

@@ -4,7 +4,7 @@ import (
 	"os"
 	"testing"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 type tester struct {

+ 2 - 2
v2/kc/safe_bool_react/safe_bool_react.go → kc/safe_bool_react/safe_bool_react.go

@@ -7,8 +7,8 @@ import (
 	"strings"
 	"sync"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 // safeBoolReact -- потокобезопасный булевый признак с реакцией на своё изменение

+ 1 - 1
v2/kc/safe_bool_react/safe_bool_react_test.go → kc/safe_bool_react/safe_bool_react_test.go

@@ -4,7 +4,7 @@ import (
 	"os"
 	"testing"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 type tester struct {

+ 1 - 1
v2/kc/safe_int/safe_int.go → kc/safe_int/safe_int.go

@@ -7,7 +7,7 @@ import (
 	"strconv"
 	"sync"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 // safeInt -- потокобезопасное целое

+ 1 - 1
v2/kc/safe_int/safe_int_test.go → kc/safe_int/safe_int_test.go

@@ -4,7 +4,7 @@ import (
 	"os"
 	"testing"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 type tester struct {

+ 1 - 1
v2/kc/safe_string/safe_string.go → kc/safe_string/safe_string.go

@@ -6,7 +6,7 @@ import (
 	"os"
 	"sync"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 // safeString -- потокобезопасная строка

+ 1 - 1
v2/kc/safe_string/safe_string_test.go → kc/safe_string/safe_string_test.go

@@ -4,7 +4,7 @@ import (
 	"os"
 	"testing"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 type tester struct {

+ 25 - 25
v2/kern.go → kern.go

@@ -4,29 +4,29 @@ package kern
 import (
 	"context"
 
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/local_ctx"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/log_buf"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/safe_bool"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/safe_bool_react"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/safe_int"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/safe_string"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/kalias"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/kbus_http"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/kbus_http/client_bus_http"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/kbus_local"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/kbus_local/client_bus_local"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kctx"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kmodule"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kmonolit"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kserv_http"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kstore_kv"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
-	"gitp78su.ipnodns.ru/svi/kern/v2/mds/mod_kctx"
-	"gitp78su.ipnodns.ru/svi/kern/v2/mds/mod_keeper"
-	"gitp78su.ipnodns.ru/svi/kern/v2/mds/mod_serv_http"
-	"gitp78su.ipnodns.ru/svi/kern/v2/mds/mod_wui"
+	"gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	"gitp78su.ipnodns.ru/svi/kern/kc/local_ctx"
+	"gitp78su.ipnodns.ru/svi/kern/kc/log_buf"
+	"gitp78su.ipnodns.ru/svi/kern/kc/safe_bool"
+	"gitp78su.ipnodns.ru/svi/kern/kc/safe_bool_react"
+	"gitp78su.ipnodns.ru/svi/kern/kc/safe_int"
+	"gitp78su.ipnodns.ru/svi/kern/kc/safe_string"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/kalias"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_http"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_http/client_bus_http"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_local"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_local/client_bus_local"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kctx"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kmodule"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kmonolit"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kserv_http"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kstore_kv"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
+	"gitp78su.ipnodns.ru/svi/kern/mds/mod_kctx"
+	"gitp78su.ipnodns.ru/svi/kern/mds/mod_keeper"
+	"gitp78su.ipnodns.ru/svi/kern/mds/mod_serv_http"
+	"gitp78su.ipnodns.ru/svi/kern/mds/mod_wui"
 )
 
 // GetKernelCtx -- возвращает контекст ядра
@@ -140,8 +140,8 @@ func GetModuleWui() IKernelModule {
 }
 
 // NewLogBuf -- возвращает новый буферизованный лог
-func NewLogBuf(isTerm bool) ILogBuf {
-	log := log_buf.NewLogBuf(isTerm)
+func NewLogBuf(opts ...log_buf.OptionLogBuf) ILogBuf {
+	log := log_buf.NewLogBuf(opts...)
 	return log
 }
 

+ 3 - 2
v2/kern_test.go → kern_test.go

@@ -5,7 +5,8 @@ import (
 	"os"
 	"testing"
 
-	"gitp78su.ipnodns.ru/svi/kern/v2/mock/mock_env"
+	"gitp78su.ipnodns.ru/svi/kern/kc/log_buf"
+	"gitp78su.ipnodns.ru/svi/kern/mock/mock_env"
 )
 
 type tester struct {
@@ -116,7 +117,7 @@ func (sf *tester) new() {
 			sf.t.Fatalf("new(): modWui==nil")
 		}
 
-		logBuf := NewLogBuf(true)
+		logBuf := NewLogBuf(log_buf.OptIsTerm(true))
 		if logBuf == nil {
 			sf.t.Fatalf("new(): ILogBuf==nil")
 		}

+ 0 - 0
v2/krn/kalias/kalias.go → krn/kalias/kalias.go


+ 0 - 0
v2/krn/kalias/kalias_test.go → krn/kalias/kalias_test.go


+ 4 - 4
v2/krn/kbus/dict_sub_hook/dict_sub_hook.go → krn/kbus/dict_sub_hook/dict_sub_hook.go

@@ -4,10 +4,10 @@ package dict_sub_hook
 import (
 	"sync"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/kalias"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kctx"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/kalias"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kctx"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 // dictSubHook -- словарь потребителей топика по подписке

+ 1 - 1
v2/krn/kbus/dict_sub_hook/dict_sub_hook_test.go → krn/kbus/dict_sub_hook/dict_sub_hook_test.go

@@ -3,7 +3,7 @@ package dict_sub_hook
 import (
 	"testing"
 
-	"gitp78su.ipnodns.ru/svi/kern/v2/mock/mock_hand_sub_local"
+	"gitp78su.ipnodns.ru/svi/kern/mock/mock_hand_sub_local"
 )
 
 type tester struct {

+ 4 - 4
v2/krn/kbus/dict_topic_serve/dict_topic_serve.go → krn/kbus/dict_topic_serve/dict_topic_serve.go

@@ -7,10 +7,10 @@ import (
 	"sync"
 	"time"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/kalias"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kctx"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/kalias"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kctx"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 // dictServe -- потокобезопасный словарь обработчиков запросов

+ 2 - 2
v2/krn/kbus/dict_topic_serve/dict_topic_serve_test.go → krn/kbus/dict_topic_serve/dict_topic_serve_test.go

@@ -3,8 +3,8 @@ package dict_topic_serve
 import (
 	"testing"
 
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kctx"
-	"gitp78su.ipnodns.ru/svi/kern/v2/mock/mock_hand_serve"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kctx"
+	"gitp78su.ipnodns.ru/svi/kern/mock/mock_hand_serve"
 )
 
 type tester struct {

+ 5 - 5
v2/krn/kbus/dict_topic_sub/dict_topic_sub.go → krn/kbus/dict_topic_sub/dict_topic_sub.go

@@ -4,11 +4,11 @@ package dict_topic_sub
 import (
 	"sync"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/kalias"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/dict_sub_hook"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kctx"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/kalias"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/dict_sub_hook"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kctx"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 type tReadReq struct {

+ 2 - 2
v2/krn/kbus/dict_topic_sub/dict_topic_sub_test.go → krn/kbus/dict_topic_sub/dict_topic_sub_test.go

@@ -3,8 +3,8 @@ package dict_topic_sub
 import (
 	"testing"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	"gitp78su.ipnodns.ru/svi/kern/v2/mock/mock_hand_sub_local"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	"gitp78su.ipnodns.ru/svi/kern/mock/mock_hand_sub_local"
 )
 
 type tester struct {

+ 8 - 8
v2/krn/kbus/kbus_base/kbus_base.go → krn/kbus/kbus_base/kbus_base.go

@@ -5,14 +5,14 @@ import (
 	"fmt"
 	"sync"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/local_ctx"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/safe_bool"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/kalias"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/dict_topic_serve"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/dict_topic_sub"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kctx"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	"gitp78su.ipnodns.ru/svi/kern/kc/local_ctx"
+	"gitp78su.ipnodns.ru/svi/kern/kc/safe_bool"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/kalias"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/dict_topic_serve"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/dict_topic_sub"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kctx"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 const (

+ 4 - 4
v2/krn/kbus/kbus_base/kbus_base_test.go → krn/kbus/kbus_base/kbus_base_test.go

@@ -3,10 +3,10 @@ package kbus_base
 import (
 	"testing"
 
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kctx"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
-	"gitp78su.ipnodns.ru/svi/kern/v2/mock/mock_hand_serve"
-	"gitp78su.ipnodns.ru/svi/kern/v2/mock/mock_hand_sub_local"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kctx"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
+	"gitp78su.ipnodns.ru/svi/kern/mock/mock_hand_serve"
+	"gitp78su.ipnodns.ru/svi/kern/mock/mock_hand_sub_local"
 )
 
 type tester struct {

+ 11 - 11
v2/krn/kbus/kbus_http/client_bus_http/client_bus_http.go → krn/kbus/kbus_http/client_bus_http/client_bus_http.go

@@ -11,17 +11,17 @@ import (
 
 	"github.com/google/uuid"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/local_ctx"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/safe_bool"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/kalias"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/kbus_http"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/kbus_msg/msg_pub"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/kbus_msg/msg_serve"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/kbus_msg/msg_sub"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/kbus_msg/msg_unsub"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kctx"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	"gitp78su.ipnodns.ru/svi/kern/kc/local_ctx"
+	"gitp78su.ipnodns.ru/svi/kern/kc/safe_bool"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/kalias"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_http"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_msg/msg_pub"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_msg/msg_serve"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_msg/msg_sub"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_msg/msg_unsub"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kctx"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 // ClientBusHttp -- клиент HTTP-шины

+ 8 - 8
v2/krn/kbus/kbus_http/client_bus_http/client_bus_http_test.go → krn/kbus/kbus_http/client_bus_http/client_bus_http_test.go

@@ -5,14 +5,14 @@ import (
 	"strings"
 	"testing"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/kbus_base"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kctx"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kserv_http"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
-	"gitp78su.ipnodns.ru/svi/kern/v2/mock/mock_env"
-	"gitp78su.ipnodns.ru/svi/kern/v2/mock/mock_hand_serve"
-	"gitp78su.ipnodns.ru/svi/kern/v2/mock/mock_hand_sub_http"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_base"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kctx"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kserv_http"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
+	"gitp78su.ipnodns.ru/svi/kern/mock/mock_env"
+	"gitp78su.ipnodns.ru/svi/kern/mock/mock_hand_serve"
+	"gitp78su.ipnodns.ru/svi/kern/mock/mock_hand_sub_http"
 )
 
 type tester struct {

+ 9 - 9
v2/krn/kbus/kbus_http/kbus_http.go → krn/kbus/kbus_http/kbus_http.go

@@ -7,15 +7,15 @@ import (
 
 	"github.com/gofiber/fiber/v2"
 
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/kbus_base"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/kbus_msg/msg_pub"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/kbus_msg/msg_serve"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/kbus_msg/msg_sub"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/kbus_msg/msg_unsub"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kctx"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kserv_http"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
-	"gitp78su.ipnodns.ru/svi/kern/v2/mock/mock_hand_sub_http"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_base"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_msg/msg_pub"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_msg/msg_serve"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_msg/msg_sub"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_msg/msg_unsub"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kctx"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kserv_http"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
+	"gitp78su.ipnodns.ru/svi/kern/mock/mock_hand_sub_http"
 )
 
 // kBusHttp -- шина данных поверх HTTP

+ 10 - 10
v2/krn/kbus/kbus_http/kbus_http_test.go → krn/kbus/kbus_http/kbus_http_test.go

@@ -8,16 +8,16 @@ import (
 	"strings"
 	"testing"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/kbus_msg/msg_pub"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/kbus_msg/msg_serve"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/kbus_msg/msg_sub"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/kbus_msg/msg_unsub"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kctx"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kserv_http"
-	"gitp78su.ipnodns.ru/svi/kern/v2/mock/mock_env"
-	"gitp78su.ipnodns.ru/svi/kern/v2/mock/mock_hand_serve"
-	"gitp78su.ipnodns.ru/svi/kern/v2/mock/mock_hand_sub_local"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_msg/msg_pub"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_msg/msg_serve"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_msg/msg_sub"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_msg/msg_unsub"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kctx"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kserv_http"
+	"gitp78su.ipnodns.ru/svi/kern/mock/mock_env"
+	"gitp78su.ipnodns.ru/svi/kern/mock/mock_hand_serve"
+	"gitp78su.ipnodns.ru/svi/kern/mock/mock_hand_sub_local"
 )
 
 type tester struct {

+ 2 - 2
v2/krn/kbus/kbus_local/client_bus_local/client_bus_local.go → krn/kbus/kbus_local/client_bus_local/client_bus_local.go

@@ -2,8 +2,8 @@
 package client_bus_local
 
 import (
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/kbus_local"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_local"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 // ClientBusLocal -- клиент локальной шины

+ 1 - 1
v2/krn/kbus/kbus_local/client_bus_local/client_bus_local_test.go → krn/kbus/kbus_local/client_bus_local/client_bus_local_test.go

@@ -3,7 +3,7 @@ package client_bus_local
 import (
 	"testing"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 type tester struct {

+ 2 - 2
v2/krn/kbus/kbus_local/kbus_local.go → krn/kbus/kbus_local/kbus_local.go

@@ -2,8 +2,8 @@
 package kbus_local
 
 import (
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/kbus_base"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_base"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 // Локальная шина данных

+ 3 - 3
v2/krn/kbus/kbus_local/kbus_local_test.go → krn/kbus/kbus_local/kbus_local_test.go

@@ -3,9 +3,9 @@ package kbus_local
 import (
 	"testing"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
-	"gitp78su.ipnodns.ru/svi/kern/v2/mock/mock_hand_serve"
-	"gitp78su.ipnodns.ru/svi/kern/v2/mock/mock_hand_sub_local"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
+	"gitp78su.ipnodns.ru/svi/kern/mock/mock_hand_serve"
+	"gitp78su.ipnodns.ru/svi/kern/mock/mock_hand_sub_local"
 )
 
 type tester struct {

+ 2 - 2
v2/krn/kbus/kbus_msg/msg_pub/msg_pub.go → krn/kbus/kbus_msg/msg_pub/msg_pub.go

@@ -2,8 +2,8 @@
 package msg_pub
 
 import (
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/kalias"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/kalias"
 )
 
 // PublishReq -- запрос на публикацию

+ 0 - 0
v2/krn/kbus/kbus_msg/msg_pub/msg_pub_test.go → krn/kbus/kbus_msg/msg_pub/msg_pub_test.go


+ 2 - 2
v2/krn/kbus/kbus_msg/msg_serve/msg_serve.go → krn/kbus/kbus_msg/msg_serve/msg_serve.go

@@ -2,8 +2,8 @@
 package msg_serve
 
 import (
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/kalias"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/kalias"
 )
 
 // ServeReq -- входящий запрос на обслуживание

+ 0 - 0
v2/krn/kbus/kbus_msg/msg_serve/msg_serve_test.go → krn/kbus/kbus_msg/msg_serve/msg_serve_test.go


+ 2 - 2
v2/krn/kbus/kbus_msg/msg_sub/msg_sub.go → krn/kbus/kbus_msg/msg_sub/msg_sub.go

@@ -2,8 +2,8 @@
 package msg_sub
 
 import (
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/kalias"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/kalias"
 )
 
 // SubscribeReq -- входящий запрос на подписку

+ 0 - 0
v2/krn/kbus/kbus_msg/msg_sub/msg_sub_test.go → krn/kbus/kbus_msg/msg_sub/msg_sub_test.go


+ 2 - 2
v2/krn/kbus/kbus_msg/msg_unsub/msg_unsub.go → krn/kbus/kbus_msg/msg_unsub/msg_unsub.go

@@ -2,8 +2,8 @@
 package msg_unsub
 
 import (
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/kalias"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/kalias"
 )
 
 // UnsubReq -- запрос на отписку от топика

+ 0 - 0
v2/krn/kbus/kbus_msg/msg_unsub/msg_unsub_test.go → krn/kbus/kbus_msg/msg_unsub/msg_unsub_test.go


+ 4 - 4
v2/krn/kctx/kctx.go → krn/kctx/kctx.go

@@ -5,10 +5,10 @@ import (
 	"context"
 	"sync"
 
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/local_ctx"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kctx/kernel_keeper"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kctx/kwg"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	"gitp78su.ipnodns.ru/svi/kern/kc/local_ctx"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kctx/kernel_keeper"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kctx/kwg"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 // kCtx -- контекст ядра

+ 0 - 0
v2/krn/kctx/kctx_test.go → krn/kctx/kctx_test.go


+ 8 - 8
v2/krn/kctx/kernel_keeper/kernel_keeper.go → krn/kctx/kernel_keeper/kernel_keeper.go

@@ -8,9 +8,9 @@ import (
 	"sync"
 	"syscall"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/log_buf"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	"gitp78su.ipnodns.ru/svi/kern/kc/log_buf"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 // kernelKeeper -- сторож системных сигналов
@@ -42,7 +42,7 @@ func GetKernelKeeper(ctx context.Context, fnCancel func(), wg IKernelWg) *kernel
 		ctx:      ctx,
 		fnCancel: fnCancel,
 		wg:       wg,
-		log:      log_buf.NewLogBuf(true),
+		log:      log_buf.NewLogBuf(log_buf.OptIsTerm(true), log_buf.OptPrefix("kernelKeeper")),
 		chSys_:   make(chan os.Signal, 2),
 	}
 	sf.log.Debug("GetKernelKeeper(): first run")
@@ -62,7 +62,7 @@ func (sf *kernelKeeper) Log() ILogBuf {
 
 // Работает в отдельном потоке и ждёт сигналов прерываний работы
 func (sf *kernelKeeper) run(chSys chan os.Signal) {
-	sf.log.Debug("kernelKeeper.run()")
+	sf.log.Debug("run()")
 
 	// Регистрируем сигналы SIGINT (Ctrl+C) и SIGTERM (завершение процесса)
 	// syscall.SIGHUP: Сигнал, отправляемый при закрытии терминала.
@@ -70,11 +70,11 @@ func (sf *kernelKeeper) run(chSys chan os.Signal) {
 	signal.Notify(chSys, syscall.SIGINT, syscall.SIGTERM, syscall.SIGHUP, syscall.SIGQUIT)
 	select {
 	case sig := <-chSys: // системный сигнал
-		sf.log.Debug("kernelKeeper.run(): system signal, sig=%v\n", sig)
+		sf.log.Debug("run(): system signal, sig=%v\n", sig)
 		sf.fnCancel()
 	case <-sf.ctx.Done(): // сигнал от приложения
-		sf.log.Debug("kernelKeeper.run(): cancel app context, err=\n\t%v\n", sf.ctx.Err())
+		sf.log.Debug("run(): cancel app context, err=\n\t%v\n", sf.ctx.Err())
 	}
 	sf.wg.Done("kernel_keeper")
-	sf.log.Debug("kernelKeeper.run(): end")
+	sf.log.Debug("run(): end")
 }

+ 2 - 2
v2/krn/kctx/kernel_keeper/kernel_keeper_test.go → krn/kctx/kernel_keeper/kernel_keeper_test.go

@@ -6,8 +6,8 @@ import (
 	"testing"
 	"time"
 
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kctx/kwg"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kctx/kwg"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 type tester struct {

+ 13 - 13
v2/krn/kctx/kwg/kwg.go → krn/kctx/kwg/kwg.go

@@ -8,11 +8,11 @@ import (
 	"fmt"
 	"sync"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/log_buf"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/safe_bool"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/kalias"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	"gitp78su.ipnodns.ru/svi/kern/kc/log_buf"
+	"gitp78su.ipnodns.ru/svi/kern/kc/safe_bool"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/kalias"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 // kernelWg -- именованный ожидатель потоков ядра
@@ -42,7 +42,7 @@ func GetKernelWg(ctx context.Context) IKernelWg {
 		ctx:        ctx,
 		dictStream: map[AStreamName]bool{},
 		isWork:     safe_bool.NewSafeBool(),
-		log:        log_buf.NewLogBuf(true),
+		log:        log_buf.NewLogBuf(log_buf.OptIsTerm(true), log_buf.OptPrefix("kernelWg")),
 	}
 	sf.log.Debug("GetKernelWg(): run")
 	go sf.close()
@@ -84,7 +84,7 @@ func (sf *kernelWg) Done(name AStreamName) {
 	sf.Lock()
 	defer sf.Unlock()
 	delete(sf.dictStream, name)
-	sf.log.Debug("kernelWg.Done(): stream(%v) done", name)
+	sf.log.Debug("Done(): stream(%v) done", name)
 }
 
 // Wait -- блокирующий вызов; возвращает управление, только когда все потоки завершили работу
@@ -95,21 +95,21 @@ func (sf *kernelWg) Wait() {
 			break
 		}
 	}
-	sf.log.Debug("kernelWg.Wait(): done")
+	sf.log.Debug("Wait(): done")
 }
 
 // Add -- добавляет поток в ожидание
 func (sf *kernelWg) Add(name AStreamName) Result[bool] {
 	sf.Lock()
 	defer sf.Unlock()
-	sf.log.Debug("kernelWg.Add(): stream='%v'", name)
+	sf.log.Debug("Add(): stream='%v'", name)
 	if !sf.isWork.Get() {
-		err := fmt.Errorf("kernelWg.Add(): stream=%v, work end", name)
+		err := fmt.Errorf("Add(): stream=%v, work end", name)
 		return NewErr[bool](err)
 	}
-	Hassert(name != "", "kernelWg.Add(): name stream is empty")
+	Hassert(name != "", "Add(): name stream is empty")
 	_, isOk := sf.dictStream[name]
-	Hassert(!isOk, "kernelWg.Add(): stream '%v' already exists", name)
+	Hassert(!isOk, "Add(): stream '%v' already exists", name)
 	sf.dictStream[name] = true
 	return NewOk(true)
 }
@@ -134,5 +134,5 @@ func (sf *kernelWg) close() {
 		return
 	}
 	sf.isWork.Reset()
-	sf.log.Debug("kernelWg.close(): end")
+	sf.log.Debug("close(): end")
 }

+ 1 - 1
v2/krn/kctx/kwg/kwg_test.go → krn/kctx/kwg/kwg_test.go

@@ -5,7 +5,7 @@ import (
 	"testing"
 	"time"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 type tester struct {

+ 9 - 9
v2/krn/kmodule/kmodule.go → krn/kmodule/kmodule.go

@@ -4,15 +4,15 @@ package kmodule
 import (
 	"time"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/local_ctx"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/safe_int"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/safe_string"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/kalias"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kbus/kbus_local"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kctx"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kmodule/mod_stat"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	"gitp78su.ipnodns.ru/svi/kern/kc/local_ctx"
+	"gitp78su.ipnodns.ru/svi/kern/kc/safe_int"
+	"gitp78su.ipnodns.ru/svi/kern/kc/safe_string"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/kalias"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_local"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kctx"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kmodule/mod_stat"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 // kModule -- модуль на основе ядра

+ 3 - 3
v2/krn/kmodule/kmodule_test.go → krn/kmodule/kmodule_test.go

@@ -5,9 +5,9 @@ import (
 	"testing"
 	"time"
 
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kctx"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
-	"gitp78su.ipnodns.ru/svi/kern/v2/mock/mock_env"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kctx"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
+	"gitp78su.ipnodns.ru/svi/kern/mock/mock_env"
 )
 
 type tester struct {

+ 6 - 6
v2/krn/kmodule/mod_stat/mod_stat.go → krn/kmodule/mod_stat/mod_stat.go

@@ -11,12 +11,12 @@ package mod_stat
 import (
 	"time"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/safe_int"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/kalias"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kmodule/mod_stat/mod_stat_day"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kmodule/mod_stat/mod_stat_sec"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	"gitp78su.ipnodns.ru/svi/kern/kc/safe_int"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/kalias"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kmodule/mod_stat/mod_stat_day"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kmodule/mod_stat/mod_stat_sec"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 // ModStat -- статистика модуля

+ 1 - 1
v2/krn/kmodule/mod_stat/mod_stat_day/mod_stat_day.go → krn/kmodule/mod_stat/mod_stat_day/mod_stat_day.go

@@ -12,7 +12,7 @@ import (
 	svg "github.com/ajstarks/svgo"
 )
 
-// ModStatВфн -- статистика модуля за первые 24 часа
+// ModStatDay -- статистика модуля за первые 24 часа
 type ModStatDay struct {
 	sync.RWMutex
 	lst    []int // Список значений за первые 24 часа

+ 0 - 0
v2/krn/kmodule/mod_stat/mod_stat_day/mod_stat_day_test.go → krn/kmodule/mod_stat/mod_stat_day/mod_stat_day_test.go


+ 0 - 0
v2/krn/kmodule/mod_stat/mod_stat_minute/mod_stat_minute.go → krn/kmodule/mod_stat/mod_stat_minute/mod_stat_minute.go


+ 0 - 0
v2/krn/kmodule/mod_stat/mod_stat_minute/mod_stat_minute_test.go → krn/kmodule/mod_stat/mod_stat_minute/mod_stat_minute_test.go


+ 0 - 0
v2/krn/kmodule/mod_stat/mod_stat_sec/mod_stat_sec.go → krn/kmodule/mod_stat/mod_stat_sec/mod_stat_sec.go


+ 0 - 0
v2/krn/kmodule/mod_stat/mod_stat_sec/mod_stat_sec_test.go → krn/kmodule/mod_stat/mod_stat_sec/mod_stat_sec_test.go


+ 0 - 0
v2/krn/kmodule/mod_stat/mod_stat_test.go → krn/kmodule/mod_stat/mod_stat_test.go


+ 6 - 6
v2/krn/kmonolit/kmonolit.go → krn/kmonolit/kmonolit.go

@@ -4,12 +4,12 @@ package kmonolit
 import (
 	"fmt"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/local_ctx"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/safe_bool"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/kalias"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kctx"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	"gitp78su.ipnodns.ru/svi/kern/kc/local_ctx"
+	"gitp78su.ipnodns.ru/svi/kern/kc/safe_bool"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/kalias"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kctx"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 // kMonolit -- объект модульного монолита

+ 5 - 5
v2/krn/kmonolit/kmonolit_test.go → krn/kmonolit/kmonolit_test.go

@@ -3,11 +3,11 @@ package kmonolit
 import (
 	"testing"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/kalias"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kctx"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kmodule"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/kalias"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kctx"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kmodule"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 type tester struct {

+ 5 - 5
v2/krn/kserv_http/kserv_http.go → krn/kserv_http/kserv_http.go

@@ -15,11 +15,11 @@ import (
 	"github.com/gofiber/fiber/v2/middleware/filesystem"
 	"github.com/gofiber/fiber/v2/middleware/monitor"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/local_ctx"
-	"gitp78su.ipnodns.ru/svi/kern/v2/kc/safe_bool"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kctx"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	"gitp78su.ipnodns.ru/svi/kern/kc/local_ctx"
+	"gitp78su.ipnodns.ru/svi/kern/kc/safe_bool"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kctx"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
 )
 
 const (

+ 4 - 4
v2/krn/kserv_http/kserv_http_test.go → krn/kserv_http/kserv_http_test.go

@@ -4,10 +4,10 @@ import (
 	"os"
 	"testing"
 
-	. "gitp78su.ipnodns.ru/svi/kern/v2/kc/helpers"
-	"gitp78su.ipnodns.ru/svi/kern/v2/krn/kctx"
-	. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
-	"gitp78su.ipnodns.ru/svi/kern/v2/mock/mock_env"
+	. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
+	"gitp78su.ipnodns.ru/svi/kern/krn/kctx"
+	. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
+	"gitp78su.ipnodns.ru/svi/kern/mock/mock_env"
 )
 
 type tester struct {

+ 0 - 0
v2/krn/kserv_http/static/css/bootstrap-grid.min.css → krn/kserv_http/static/css/bootstrap-grid.min.css


+ 0 - 0
v2/krn/kserv_http/static/css/bootstrap-grid.min.css.map → krn/kserv_http/static/css/bootstrap-grid.min.css.map


+ 0 - 0
v2/krn/kserv_http/static/css/bootstrap-grid.rtl.min.css → krn/kserv_http/static/css/bootstrap-grid.rtl.min.css


+ 0 - 0
v2/krn/kserv_http/static/css/bootstrap-grid.rtl.min.css.map → krn/kserv_http/static/css/bootstrap-grid.rtl.min.css.map


+ 0 - 0
v2/krn/kserv_http/static/css/bootstrap-reboot.min.css → krn/kserv_http/static/css/bootstrap-reboot.min.css


+ 0 - 0
v2/krn/kserv_http/static/css/bootstrap-reboot.min.css.map → krn/kserv_http/static/css/bootstrap-reboot.min.css.map


+ 0 - 0
v2/krn/kserv_http/static/css/bootstrap-reboot.rtl.min.css → krn/kserv_http/static/css/bootstrap-reboot.rtl.min.css


+ 0 - 0
v2/krn/kserv_http/static/css/bootstrap-reboot.rtl.min.css.map → krn/kserv_http/static/css/bootstrap-reboot.rtl.min.css.map


+ 0 - 0
v2/krn/kserv_http/static/css/bootstrap-utilities.min.css → krn/kserv_http/static/css/bootstrap-utilities.min.css


Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov