Bladeren bron

SVI Рабочее сохранение

SVI 4 maanden geleden
bovenliggende
commit
097daa0845

+ 3 - 2
v4/kern.go

@@ -7,6 +7,7 @@ import (
 
 	mL0 "gitp78su.ipnodns.ru/svi/kern/v4/lev0"
 	"gitp78su.ipnodns.ru/svi/kern/v4/lev0/core_spec"
+	"gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
 	"gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers"
 	mL1 "gitp78su.ipnodns.ru/svi/kern/v4/lev1"
 	"gitp78su.ipnodns.ru/svi/kern/v4/lev1/comp_spec"
@@ -214,7 +215,7 @@ func NewSafeBoolReact() core_spec.ISafeBoolReact {
 // NewSafeInt -- возвращает новую потокобезопасную целочисленную переменную.
 //
 //go:fix inline
-func NewSafeInt(val int) core_spec.ISafeInt {
+func NewSafeInt(val defs.AInt) core_spec.ISafeInt {
 	val_ := mL1.NewSafeInt(val)
 	return val_
 }
@@ -222,7 +223,7 @@ func NewSafeInt(val int) core_spec.ISafeInt {
 // NewInt -- возвращает новую целочисленную переменную.
 //
 //go:fix inline
-func NewInt(val int) core_spec.Int {
+func NewInt(val defs.AInt) core_spec.Int {
 	val_ := mL1.NewInt(val)
 	return val_
 }

+ 8 - 6
v4/lev0/core_spec/ikernel_int.go

@@ -1,11 +1,13 @@
 package core_spec
 
+import "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
+
 // Int -- целочисленный тип ядра.
 type Int interface {
 	// Get -- возвращает хранимое значение потокобезопасной переменной
-	Get() int
+	Get() defs.AInt
 	// Set -- устанавливает хранимое потокобезопасное значение
-	Set(int)
+	Set(defs.AInt)
 	// Reset -- сбрасывает хранимое потокобезопасное значение
 	Reset()
 	// Inc -- увеличивает число на 1
@@ -13,17 +15,17 @@ type Int interface {
 	// Dec -- уменьшает число на 1
 	Dec()
 	// FromStr -- устанавливает значение из строки
-	FromStr(string) IResult[int]
+	FromStr(string) IResult[defs.AInt]
 	// ToStr -- возвращает как строку
 	ToStr() string
 	// FromByte -- устанавливает значение из байтов
-	FromByte([]byte) IResult[int]
+	FromByte([]byte) IResult[defs.AInt]
 	// ToByte -- возвращает как срез байт
 	ToByte() []byte
 	// FromBool -- устанавливает значение из булева
-	FromBool(bool) int
+	FromBool(bool) defs.AInt
 	// ToBool -- возвращает как булево значение
 	ToBool() bool
 	// Getenv -- устанавливает значение из окружения
-	Getenv(string) IResult[int]
+	Getenv(string) IResult[defs.AInt]
 }

+ 8 - 0
v4/lev0/defs/defs.go

@@ -34,3 +34,11 @@ type StoreKey = store_key.AStoreKey
 func NewStoreKey(val string) *store_key.AStoreKey {
 	return store_key.NewAStoreKey(val)
 }
+
+// AInt -- алиас для int.
+type AInt int
+
+// Int -- возвращает целое число по требованию.
+func (i AInt) Int() int {
+	return int(i)
+}

+ 19 - 15
v4/lev1/kint/kint.go

@@ -10,15 +10,16 @@ import (
 
 	mL0 "gitp78su.ipnodns.ru/svi/kern/v4/lev0"
 	mKs "gitp78su.ipnodns.ru/svi/kern/v4/lev0/core_spec"
+	"gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
 )
 
 // Целочисленная переменная ядра.
 type KernInt struct {
-	val int
+	val defs.AInt
 }
 
 // NewInt -- возвращает новое целое ядра.
-func NewInt(val int) mKs.Int {
+func NewInt(val defs.AInt) mKs.Int {
 	sf := &KernInt{
 		val: val,
 	}
@@ -26,12 +27,12 @@ func NewInt(val int) mKs.Int {
 }
 
 // Get -- возвращает хранимое значение потокобезопасной переменной.
-func (sf *KernInt) Get() int {
+func (sf *KernInt) Get() defs.AInt {
 	return sf.val
 }
 
 // Set -- устанавливает хранимое потокобезопасное значение.
-func (sf *KernInt) Set(val int) {
+func (sf *KernInt) Set(val defs.AInt) {
 	sf.val = val
 }
 
@@ -51,13 +52,14 @@ func (sf *KernInt) Reset() {
 }
 
 // FromStr -- устанавливает значение из строки.
-func (sf *KernInt) FromStr(strVal string) mL0.IResult[int] {
+func (sf *KernInt) FromStr(strVal string) mL0.IResult[defs.AInt] {
 	iVal, err := strconv.Atoi(strVal)
 	if err != nil {
-		return mL0.NewErr[int](fmt.Errorf("KInt.FromStr(): vak(%v) bad, err=\n\t%w", strVal, err))
+		err:=fmt.Errorf("KInt.FromStr(): vak(%v) bad, err=\n\t%w", strVal, err)
+		return mL0.NewErr[defs.AInt](err)
 	}
-	sf.val = iVal
-	return mL0.NewOk(iVal)
+	sf.val = defs.AInt(iVal)
+	return mL0.NewOk(sf.val)
 }
 
 // ToStr -- возвращает как строку.
@@ -66,18 +68,20 @@ func (sf *KernInt) ToStr() string {
 }
 
 // FromByte -- устанавливает значение из байтов (BigEndian, net order).
-func (sf *KernInt) FromByte(binData []byte) mL0.IResult[int] {
+func (sf *KernInt) FromByte(binData []byte) mL0.IResult[defs.AInt] {
 	lenBin := len(binData)
 	if lenBin < 8 {
-		return mL0.NewErr[int](fmt.Errorf("KInt.FromByte(): len(%v) bytes shorts", lenBin))
+		err:=fmt.Errorf("KInt.FromByte(): len(%v) bytes shorts", lenBin)
+		return mL0.NewErr[defs.AInt](err)
 	}
 	var signed int64
 	buf := bytes.NewReader(binData)
 	err := binary.Read(buf, binary.BigEndian, &signed)
 	if err != nil {
-		return mL0.NewErr[int](fmt.Errorf("KInt.FromByte(): in read []byte, err=\n\t%w", err))
+		err:=fmt.Errorf("KInt.FromByte(): in read []byte, err=\n\t%w", err)
+		return mL0.NewErr[defs.AInt](err)
 	}
-	sf.val = int(signed)
+	sf.val = defs.AInt(signed)
 	return mL0.NewOk(sf.val)
 }
 
@@ -89,7 +93,7 @@ func (sf *KernInt) ToByte() []byte {
 }
 
 // FromBool -- устанавливает значение из булева.
-func (sf *KernInt) FromBool(isVal bool) int {
+func (sf *KernInt) FromBool(isVal bool) defs.AInt {
 	if isVal {
 		sf.val = -1
 		return -1
@@ -104,12 +108,12 @@ func (sf *KernInt) ToBool() bool {
 }
 
 // Getenv -- устанавливает значение из окружения.
-func (sf *KernInt) Getenv(env string) mL0.IResult[int] {
+func (sf *KernInt) Getenv(env string) mL0.IResult[defs.AInt] {
 	strVal := os.Getenv(env)
 	res := sf.FromStr(strVal)
 	if res.IsErr() {
 		err := fmt.Errorf("safeInt.Getenv(): from env %v, err=\n\t%w", env, res.Err())
-		return mL0.NewErr[int](err)
+		return mL0.NewErr[defs.AInt](err)
 	}
 	return mL0.NewOk(sf.val)
 }

+ 5 - 2
v4/lev1/lev1.go

@@ -7,6 +7,7 @@ import (
 
 	mL0 "gitp78su.ipnodns.ru/svi/kern/v4/lev0"
 	mKs "gitp78su.ipnodns.ru/svi/kern/v4/lev0/core_spec"
+	"gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
 	"gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers"
 
 	"gitp78su.ipnodns.ru/svi/kern/v4/lev1/comp_spec"
@@ -54,7 +55,9 @@ func NewSafeIntGetenv(env string) mL0.IResult[mKs.ISafeInt] {
 }
 
 // NewSafeInt -- возвращает новую потокобезопасную целочисленную переменную.
-func NewSafeInt(val int) mKs.ISafeInt {
+//
+//go:fix inline
+func NewSafeInt(val defs.AInt) mKs.ISafeInt {
 	val_ := safe_int.NewSafeInt(val)
 	return val_
 }
@@ -101,7 +104,7 @@ func SleepMs() {
 // NewInt -- возвращает новую целочисленную переменную.
 //
 //go:fix inline
-func NewInt(val int) mKs.Int {
+func NewInt(val defs.AInt) mKs.Int {
 	val_ := kint.NewInt(val)
 	return val_
 }

+ 8 - 7
v4/lev1/safe_int/safe_int.go

@@ -7,6 +7,7 @@ import (
 
 	mL0 "gitp78su.ipnodns.ru/svi/kern/v4/lev0"
 	mKs "gitp78su.ipnodns.ru/svi/kern/v4/lev0/core_spec"
+	"gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
 	"gitp78su.ipnodns.ru/svi/kern/v4/lev1/kint"
 )
 
@@ -17,7 +18,7 @@ type safeInt struct {
 }
 
 // NewSafeInt -- возвращает новое потокобезопасное целое.
-func NewSafeInt(val int) mKs.ISafeInt {
+func NewSafeInt(val defs.AInt) mKs.ISafeInt {
 	sf := &safeInt{
 		val: kint.NewInt(val),
 	}
@@ -47,14 +48,14 @@ func NewSafeIntGetenv(env string) mL0.IResult[mKs.ISafeInt] {
 }
 
 // FromBool -- устанавливает значение из булева значения.
-func (sf *safeInt) FromBool(val bool) int {
+func (sf *safeInt) FromBool(val bool) defs.AInt {
 	sf.Lock()
 	defer sf.Unlock()
 	return sf.val.FromBool(val)
 }
 
 // Get -- возвращает хранимое целое.
-func (sf *safeInt) Get() int {
+func (sf *safeInt) Get() defs.AInt {
 	sf.RLock()
 	defer sf.RUnlock()
 	return sf.val.Get()
@@ -75,7 +76,7 @@ func (sf *safeInt) Inc() {
 }
 
 // Set -- устанавливает целое.
-func (sf *safeInt) Set(val int) {
+func (sf *safeInt) Set(val defs.AInt) {
 	sf.Lock()
 	defer sf.Unlock()
 	sf.val.Set(val)
@@ -89,14 +90,14 @@ func (sf *safeInt) Reset() {
 }
 
 // FromStr -- получает число из строки.
-func (sf *safeInt) FromStr(strVal string) mL0.IResult[int] {
+func (sf *safeInt) FromStr(strVal string) mL0.IResult[defs.AInt] {
 	sf.Lock()
 	defer sf.Unlock()
 	return sf.val.FromStr(strVal)
 }
 
 // FromByte -- получает число из среза байт.
-func (sf *safeInt) FromByte(binData []byte) mL0.IResult[int] {
+func (sf *safeInt) FromByte(binData []byte) mL0.IResult[defs.AInt] {
 	sf.Lock()
 	defer sf.Unlock()
 	return sf.val.FromByte(binData)
@@ -124,7 +125,7 @@ func (sf *safeInt) ToStr() string {
 }
 
 // Getenv -- получает значение из окружения.
-func (sf *safeInt) Getenv(env string) mL0.IResult[int] {
+func (sf *safeInt) Getenv(env string) mL0.IResult[defs.AInt] {
 	sf.Lock()
 	defer sf.Unlock()
 	return sf.val.Getenv(env)

+ 2 - 1
v4/lev2/kserv_http_std/kserv_http_std.go

@@ -8,6 +8,7 @@ import (
 	"time"
 
 	mL0 "gitp78su.ipnodns.ru/svi/kern/v4/lev0"
+	"gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
 	mL1 "gitp78su.ipnodns.ru/svi/kern/v4/lev1"
 	"gitp78su.ipnodns.ru/svi/kern/v4/lev1/comp_spec"
 	"gitp78su.ipnodns.ru/svi/kern/v4/lev1/log_buf"
@@ -20,7 +21,7 @@ import (
 type kServHttpStd struct {
 	kCtx   kspec.IKernelCtx
 	log    comp_spec.ILogBuf
-	port   int
+	port   defs.AInt
 	server *http.Server
 }