diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4902a5c7..43e0b922 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,10 @@
*??? ??, ????*
+### CHANGES
+
+- Update `pkg/client/message`: delete proof of work
+
## v1.5.21
diff --git a/TODO.md b/TODO.md
index bca2c8f2..6550ab34 100644
--- a/TODO.md
+++ b/TODO.md
@@ -10,3 +10,4 @@
8. HLF: Hidden Lake Forum
9. Append example of use functions (godoc)
10. Append errors (as traffic/database) for all interface methods
+11. Errors change to standard
diff --git a/cmd/hidden_lake/README.md b/cmd/hidden_lake/README.md
index 46ff3fb1..baf8b168 100644
--- a/cmd/hidden_lake/README.md
+++ b/cmd/hidden_lake/README.md
@@ -43,7 +43,8 @@ $ make docker-run
Network key |
Connections |
Provider |
- Country/City |
+ Country |
+ City |
Characteristics |
Expired time |
@@ -56,7 +57,8 @@ $ make docker-run
8Jkl93Mdk93md1bz |
[] |
vdsina.ru |
- Russia/Moscow |
+ Russia |
+ Moscow |
1x4.0GHz, 1.0GB RAM, 30GB HDD |
±eternal |
@@ -69,7 +71,8 @@ $ make docker-run
8Jkl93Mdk93md1bz |
[1] |
ruvds.ru |
- Russia/Moscow |
+ Russia |
+ Moscow |
1x2.2GHz, 0.5GB RAM, 10GB HDD |
±28.07.2027 |
@@ -82,7 +85,8 @@ $ make docker-run
oi4r9NW9Le7fKF9d |
[] |
eternalhost.net |
- Russia/Moscow |
+ Russia |
+ Moscow |
1x2.8GHz, 1.0GB RAM, 16GB HDD |
±eternal |
@@ -95,7 +99,8 @@ $ make docker-run
oi4r9NW9Le7fKF9d |
[3] |
4vps.su |
- Russia/Novosibirsk |
+ Russia |
+ Novosibirsk |
1x2.5GHz, 1.0GB RAM, 5GB VNMe |
±07.08.2027 |
diff --git a/cmd/hidden_lake/service/internal/config/types.go b/cmd/hidden_lake/service/internal/config/types.go
index 911f9d34..64aca04f 100644
--- a/cmd/hidden_lake/service/internal/config/types.go
+++ b/cmd/hidden_lake/service/internal/config/types.go
@@ -20,6 +20,7 @@ type IEditor interface {
type IConfigSettings interface {
message.ISettings
+ GetWorkSizeBits() uint64
GetKeySizeBits() uint64
GetQueuePeriodMS() uint64
GetLimitVoidSizeBytes() uint64
diff --git a/cmd/hidden_lake/service/internal/handler/handler_test.go b/cmd/hidden_lake/service/internal/handler/handler_test.go
index 76b0bc94..18d568f1 100644
--- a/cmd/hidden_lake/service/internal/handler/handler_test.go
+++ b/cmd/hidden_lake/service/internal/handler/handler_test.go
@@ -214,7 +214,6 @@ func testNewNode(dbPath, addr string) anonymity.INode {
}),
client.NewClient(
message.NewSettings(&message.SSettings{
- FWorkSizeBits: testutils.TCWorkSize,
FMessageSizeBytes: testutils.TCMessageSize,
}),
asymmetric.LoadRSAPrivKey(testutils.Tc1PrivKey1024),
diff --git a/cmd/hidden_lake/service/pkg/app/init_node.go b/cmd/hidden_lake/service/pkg/app/init_node.go
index a939cfe1..0915b6ae 100644
--- a/cmd/hidden_lake/service/pkg/app/init_node.go
+++ b/cmd/hidden_lake/service/pkg/app/init_node.go
@@ -64,7 +64,6 @@ func initNode(pCfg config.IConfig, pPrivKey asymmetric.IPrivKey, pLogger logger.
}),
client.NewClient(
message.NewSettings(&message.SSettings{
- FWorkSizeBits: cfgSettings.GetWorkSizeBits(),
FMessageSizeBytes: cfgSettings.GetMessageSizeBytes(),
}),
pPrivKey,
diff --git a/cmd/hidden_lake/traffic/internal/config/types.go b/cmd/hidden_lake/traffic/internal/config/types.go
index a1a47f1b..e804e5fd 100644
--- a/cmd/hidden_lake/traffic/internal/config/types.go
+++ b/cmd/hidden_lake/traffic/internal/config/types.go
@@ -18,6 +18,7 @@ type IConfig interface {
type IConfigSettings interface {
message.ISettings
+ GetWorkSizeBits() uint64
GetQueuePeriodMS() uint64
GetMessagesCapacity() uint64
GetLimitVoidSizeBytes() uint64
diff --git a/cmd/hidden_lake/traffic/internal/database/database_test.go b/cmd/hidden_lake/traffic/internal/database/database_test.go
index c50a0dcb..15eb1ab6 100644
--- a/cmd/hidden_lake/traffic/internal/database/database_test.go
+++ b/cmd/hidden_lake/traffic/internal/database/database_test.go
@@ -211,7 +211,6 @@ func TestDatabasePush(t *testing.T) {
clTest := client.NewClient(
message.NewSettings(&message.SSettings{
- FWorkSizeBits: 1,
FMessageSizeBytes: (10 << 10),
}),
asymmetric.LoadRSAPrivKey(testutils.Tc1PrivKey1024),
@@ -230,7 +229,6 @@ func TestDatabasePush(t *testing.T) {
cl := client.NewClient(
message.NewSettings(&message.SSettings{
- FWorkSizeBits: testutils.TCWorkSize,
FMessageSizeBytes: testutils.TCMessageSize,
}),
asymmetric.LoadRSAPrivKey(testutils.Tc1PrivKey1024),
@@ -294,7 +292,6 @@ func TestDatabase(t *testing.T) {
cl := client.NewClient(
message.NewSettings(&message.SSettings{
- FWorkSizeBits: testutils.TCWorkSize,
FMessageSizeBytes: testutils.TCMessageSize,
}),
asymmetric.LoadRSAPrivKey(testutils.Tc1PrivKey1024),
@@ -346,9 +343,9 @@ func TestDatabase(t *testing.T) {
return
}
- loadMsg := message.LoadMessage(cl.GetSettings(), loadNetMsg.GetPayload().GetBody())
- if loadMsg == nil {
- t.Error("got invalid message from load")
+ loadMsg, err := message.LoadMessage(cl.GetSettings(), loadNetMsg.GetPayload().GetBody())
+ if err != nil {
+ t.Error(err)
return
}
diff --git a/cmd/hidden_lake/traffic/internal/handler/handler_test.go b/cmd/hidden_lake/traffic/internal/handler/handler_test.go
index a9fb8dbc..ff047a47 100644
--- a/cmd/hidden_lake/traffic/internal/handler/handler_test.go
+++ b/cmd/hidden_lake/traffic/internal/handler/handler_test.go
@@ -161,7 +161,6 @@ func testNewClient() client.IClient {
return client.NewClient(
message.NewSettings(&message.SSettings{
FMessageSizeBytes: testutils.TCMessageSize,
- FWorkSizeBits: testutils.TCWorkSize,
}),
privKey,
)
diff --git a/cmd/hidden_lake/traffic/internal/handler/hashes_test.go b/cmd/hidden_lake/traffic/internal/handler/hashes_test.go
index 1b2b83ee..7314cebd 100644
--- a/cmd/hidden_lake/traffic/internal/handler/hashes_test.go
+++ b/cmd/hidden_lake/traffic/internal/handler/hashes_test.go
@@ -31,7 +31,6 @@ func TestHandleHashesAPI(t *testing.T) {
client := client.NewClient(
message.NewSettings(&message.SSettings{
FMessageSizeBytes: testutils.TCMessageSize,
- FWorkSizeBits: testutils.TCWorkSize,
}),
privKey,
)
diff --git a/cmd/hidden_lake/traffic/internal/handler/message_test.go b/cmd/hidden_lake/traffic/internal/handler/message_test.go
index 133c84fb..9d819950 100644
--- a/cmd/hidden_lake/traffic/internal/handler/message_test.go
+++ b/cmd/hidden_lake/traffic/internal/handler/message_test.go
@@ -48,12 +48,12 @@ func TestHandleMessageAPI(t *testing.T) {
return
}
- gotEncMsg := message.LoadMessage(
+ gotEncMsg, err := message.LoadMessage(
client.GetSettings(),
gotNetMsg.GetPayload().GetBody(),
)
- if gotEncMsg == nil {
- t.Error("failed to load encrypted message")
+ if err != nil {
+ t.Error(err)
return
}
diff --git a/cmd/hidden_lake/traffic/internal/handler/service_tcp.go b/cmd/hidden_lake/traffic/internal/handler/service_tcp.go
index e19203a0..ca8c85ff 100644
--- a/cmd/hidden_lake/traffic/internal/handler/service_tcp.go
+++ b/cmd/hidden_lake/traffic/internal/handler/service_tcp.go
@@ -30,18 +30,18 @@ func HandleServiceTCP(pCfg config.IConfig, pWrapperDB database.IWrapperDB, pLogg
WithConn(pConn).
WithSize(len(pNetMsg.ToBytes()))
- msg := message.LoadMessage(
+ _, err := message.LoadMessage(
pCfg.GetSettings(),
pNetMsg.GetPayload().GetBody(),
)
- if msg == nil {
+ if err != nil {
pLogger.PushWarn(logBuilder.WithType(anon_logger.CLogWarnMessageNull))
- return errors.NewError("message is nil")
+ return errors.WrapError(err, "load message")
}
var (
- hash = msg.GetBody().GetHash()
- proof = msg.GetBody().GetProof()
+ hash = pNetMsg.GetHash()
+ proof = pNetMsg.GetProof()
hltDB = pWrapperDB.Get()
)
diff --git a/cmd/tools/encryptor/main.go b/cmd/tools/encryptor/main.go
index 20c208d4..f846cb64 100644
--- a/cmd/tools/encryptor/main.go
+++ b/cmd/tools/encryptor/main.go
@@ -15,10 +15,6 @@ import (
"github.com/number571/go-peer/pkg/payload"
)
-const (
- cWorkSize = 20 // bits
-)
-
func main() {
if len(os.Args) != 3 {
panic(fmt.Sprintf(
@@ -57,7 +53,6 @@ func main() {
dataValue := readUntilEOF()
sett := message.NewSettings(&message.SSettings{
- FWorkSizeBits: cWorkSize,
FMessageSizeBytes: getMessageSize(param, dataValue),
})
@@ -71,7 +66,11 @@ func main() {
fmt.Println(string(msg.ToBytes()))
case "D":
c := client.NewClient(sett, privKey)
- _, pld, err := c.DecryptMessage(message.LoadMessage(sett, dataValue))
+ msg, err := message.LoadMessage(sett, dataValue)
+ if err != nil {
+ panic(err)
+ }
+ _, pld, err := c.DecryptMessage(msg)
if err != nil {
panic(err)
}
diff --git a/examples/traffic_keeper/client_hlt/main.go b/examples/traffic_keeper/client_hlt/main.go
index ba6ad878..d3f0f6b8 100644
--- a/examples/traffic_keeper/client_hlt/main.go
+++ b/examples/traffic_keeper/client_hlt/main.go
@@ -27,7 +27,6 @@ const (
func main() {
sett := message.NewSettings(&message.SSettings{
- FWorkSizeBits: 20,
FMessageSizeBytes: (8 << 10),
})
@@ -102,8 +101,8 @@ func main() {
panic(err)
}
- msg := message.LoadMessage(client.GetSettings(), netMsg.GetPayload().GetBody())
- if msg == nil {
+ msg, err := message.LoadMessage(client.GetSettings(), netMsg.GetPayload().GetBody())
+ if err != nil {
panic("load message is nil")
}
diff --git a/internal/msgconv/msgconv_test.go b/internal/msgconv/msgconv_test.go
index 0f0623d3..35ffb382 100644
--- a/internal/msgconv/msgconv_test.go
+++ b/internal/msgconv/msgconv_test.go
@@ -30,12 +30,11 @@ func TestConvert(t *testing.T) {
params := message.NewSettings(&message.SSettings{
FMessageSizeBytes: (2 << 10),
- FWorkSizeBits: testutils.TCWorkSize,
})
- msg1 := message.LoadMessage(params, FromBytesToString(testutils.TCBinaryMessage))
- if msg1 == nil {
- t.Error("fromBytesToString result is invalid")
+ msg1, err := message.LoadMessage(params, FromBytesToString(testutils.TCBinaryMessage))
+ if err != nil {
+ t.Error(err)
return
}
if !bytes.Equal(msg1.ToBytes(), testutils.TCBinaryMessage) {
@@ -43,9 +42,9 @@ func TestConvert(t *testing.T) {
return
}
- msg2 := message.LoadMessage(params, FromStringToBytes(testutils.TCStringMessage))
- if msg2 == nil {
- t.Error("fromStringToBytes result is invalid")
+ msg2, err := message.LoadMessage(params, FromStringToBytes(testutils.TCStringMessage))
+ if err != nil {
+ t.Error(err)
return
}
if msg2.ToString() != testutils.TCStringMessage {
diff --git a/pkg/client/client.go b/pkg/client/client.go
index 3cf86740..2abb05c0 100644
--- a/pkg/client/client.go
+++ b/pkg/client/client.go
@@ -7,7 +7,6 @@ import (
"github.com/number571/go-peer/pkg/client/message"
"github.com/number571/go-peer/pkg/crypto/asymmetric"
"github.com/number571/go-peer/pkg/crypto/hashing"
- "github.com/number571/go-peer/pkg/crypto/puzzle"
"github.com/number571/go-peer/pkg/crypto/random"
"github.com/number571/go-peer/pkg/crypto/symmetric"
"github.com/number571/go-peer/pkg/encoding"
@@ -38,7 +37,6 @@ func NewClient(pSett message.ISettings, pPrivKey asymmetric.IPrivKey) IClient {
client.GetPubKey(),
payload.NewPayload(0, []byte{}),
0,
- 0,
)
client.fStructSize = uint64(len(encMsg.ToBytes()))
@@ -92,12 +90,11 @@ func (p *sClient) EncryptPayload(pRecv asymmetric.IPubKey, pPld payload.IPayload
return p.encryptWithParams(
pRecv,
pPld,
- p.fSettings.GetWorkSizeBits(),
msgLimitSize-resultSize,
), nil
}
-func (p *sClient) encryptWithParams(pRecv asymmetric.IPubKey, pPld payload.IPayload, pWorkSize, pPadd uint64) message.IMessage {
+func (p *sClient) encryptWithParams(pRecv asymmetric.IPubKey, pPld payload.IPayload, pPadd uint64) message.IMessage {
var (
rand = random.NewStdPRNG()
salt = rand.GetBytes(symmetric.CAESKeySize)
@@ -126,21 +123,13 @@ func (p *sClient) encryptWithParams(pRecv asymmetric.IPubKey, pPld payload.IPayl
)).ToBytes()
cipher := symmetric.NewAESCipher(session)
- bProof := encoding.Uint64ToBytes(puzzle.NewPoWPuzzle(pWorkSize).ProofBytes(hash))
-
return &message.SMessage{
- FHead: message.SHeadMessage{
- FSender: encoding.HexEncode(cipher.EncryptBytes(p.GetPubKey().ToBytes())),
- FSession: encoding.HexEncode(pRecv.EncryptBytes(session)),
- FSalt: encoding.HexEncode(cipher.EncryptBytes(salt)),
- },
- FBody: message.SBodyMessage{
- FHash: encoding.HexEncode(hash),
- FSign: encoding.HexEncode(cipher.EncryptBytes(p.fPrivKey.SignBytes(hash))),
- FProof: encoding.HexEncode(bProof[:]),
- },
- // JSON field to raw Body (no need HEX encode)
- FPayload: cipher.EncryptBytes(doublePayload.ToBytes()),
+ FPubKey: encoding.HexEncode(cipher.EncryptBytes(p.GetPubKey().ToBytes())),
+ FEncKey: encoding.HexEncode(pRecv.EncryptBytes(session)),
+ FSalt: encoding.HexEncode(cipher.EncryptBytes(salt)),
+ FHash: encoding.HexEncode(hash),
+ FSign: encoding.HexEncode(cipher.EncryptBytes(p.fPrivKey.SignBytes(hash))),
+ FPayload: cipher.EncryptBytes(doublePayload.ToBytes()), // JSON field to raw Body (no need HEX encode)
}
}
@@ -153,14 +142,14 @@ func (p *sClient) DecryptMessage(pMsg message.IMessage) (asymmetric.IPubKey, pay
}
// Decrypt session key by private key of receiver.
- session := p.fPrivKey.DecryptBytes(pMsg.GetHead().GetSession())
+ session := p.fPrivKey.DecryptBytes(pMsg.GetEncKey())
if session == nil {
return nil, nil, errors.NewError("failed decrypt session key")
}
// Decrypt public key of sender by decrypted session key.
cipher := symmetric.NewAESCipher(session)
- publicBytes := cipher.DecryptBytes(pMsg.GetHead().GetSender())
+ publicBytes := cipher.DecryptBytes(pMsg.GetPubKey())
if publicBytes == nil {
return nil, nil, errors.NewError("failed decrypt public key")
}
@@ -189,7 +178,7 @@ func (p *sClient) DecryptMessage(pMsg message.IMessage) (asymmetric.IPubKey, pay
}
// Decrypt salt.
- salt := cipher.DecryptBytes(pMsg.GetHead().GetSalt())
+ salt := cipher.DecryptBytes(pMsg.GetSalt())
if salt == nil {
return nil, nil, errors.NewError("failed decrypt salt")
}
@@ -203,17 +192,17 @@ func (p *sClient) DecryptMessage(pMsg message.IMessage) (asymmetric.IPubKey, pay
},
[]byte{},
)).ToBytes()
- if !bytes.Equal(check, pMsg.GetBody().GetHash()) {
+ if !bytes.Equal(check, pMsg.GetHash()) {
return nil, nil, errors.NewError("invalid msg hash")
}
// Decrypt sign of message and verify this
// by public key of sender and hash of message.
- sign := cipher.DecryptBytes(pMsg.GetBody().GetSign())
+ sign := cipher.DecryptBytes(pMsg.GetSign())
if sign == nil {
return nil, nil, errors.NewError("failed decrypt sign")
}
- if !pubKey.VerifyBytes(pMsg.GetBody().GetHash(), sign) {
+ if !pubKey.VerifyBytes(pMsg.GetHash(), sign) {
return nil, nil, errors.NewError("invalid msg sign")
}
diff --git a/pkg/client/client_test.go b/pkg/client/client_test.go
index d0c1ef9c..5085fc98 100644
--- a/pkg/client/client_test.go
+++ b/pkg/client/client_test.go
@@ -61,7 +61,6 @@ func TestClientWithMessageSize(t *testing.T) {
}()
_ = NewClient(
message.NewSettings(&message.SSettings{
- FWorkSizeBits: testutils.TCWorkSize,
FMessageSizeBytes: 1024,
}),
tgPrivKey,
@@ -119,35 +118,28 @@ func TestDecrypt(t *testing.T) {
sMsg := msg.(*message.SMessage)
sMsg1 := *sMsg
- sMsg1.FBody.FHash = "0"
+ sMsg1.FHash = "0"
if _, _, err := client1.DecryptMessage(&sMsg1); err == nil {
t.Error("success decrypt message with incorrect hash")
return
}
- sMsg2 := *sMsg
- sMsg2.FBody.FProof = "0"
- if _, _, err := client1.DecryptMessage(&sMsg2); err == nil {
- t.Error("success decrypt message with incorrect proof")
- return
- }
-
sMsg3 := *sMsg
- sMsg3.FHead.FSession = "0"
+ sMsg3.FEncKey = "0"
if _, _, err := client1.DecryptMessage(&sMsg3); err == nil {
t.Error("success decrypt message with incorrect session key")
return
}
sMsg4 := *sMsg
- sMsg4.FHead.FSender = "0"
+ sMsg4.FPubKey = "0"
if _, _, err := client1.DecryptMessage(&sMsg4); err == nil {
t.Error("success decrypt message with incorrect sender key (iv block)")
return
}
sMsg5 := *sMsg
- sMsg5.FHead.FSender = "11111111111111111111111111111111"
+ sMsg5.FPubKey = "11111111111111111111111111111111"
if _, _, err := client1.DecryptMessage(&sMsg5); err == nil {
t.Error("success decrypt message with incorrect sender key (public key is nil)")
return
@@ -168,28 +160,28 @@ func TestDecrypt(t *testing.T) {
}
sMsg8 := *sMsg
- sMsg8.FHead.FSalt = "0"
+ sMsg8.FSalt = "0"
if _, _, err := client1.DecryptMessage(&sMsg8); err == nil {
t.Error("success decrypt message with incorrect salt")
return
}
sMsg9 := *sMsg
- sMsg9.FBody.FHash = "111da32433c2d7f99b38042d7b73db291bd803c55f3c83745ae3ebae6ba111"
+ sMsg9.FHash = "111da32433c2d7f99b38042d7b73db291bd803c55f3c83745ae3ebae6ba111"
if _, _, err := client1.DecryptMessage(&sMsg9); err == nil {
t.Error("success decrypt message with incorrect hash check")
return
}
sMsg10 := *sMsg
- sMsg10.FBody.FSign = "0"
+ sMsg10.FSign = "0"
if _, _, err := client1.DecryptMessage(&sMsg10); err == nil {
t.Error("success decrypt message with incorrect sign")
return
}
sMsg11 := *sMsg
- sMsg11.FBody.FSign = "111ce5d111c74a0b8638f24f8ff200f64ca0e88cda1fd483783930b08e465fa9fc9565a0a3afbdfdf3f463bc77e526f2c41c6ddd2dae5d6f90e741442e2939731cbdad4071c29eff83dff932589b2cbfd8fa8a5fac19de4c40c3adde4cde1235c0bbf053b0e04e826993f8060a50c671c6bf56ce24fe4e921b60f6ca2239932ebd1b8c8556d5a2ac13e5ef1d8ea9c111"
+ sMsg11.FSign = "111ce5d111c74a0b8638f24f8ff200f64ca0e88cda1fd483783930b08e465fa9fc9565a0a3afbdfdf3f463bc77e526f2c41c6ddd2dae5d6f90e741442e2939731cbdad4071c29eff83dff932589b2cbfd8fa8a5fac19de4c40c3adde4cde1235c0bbf053b0e04e826993f8060a50c671c6bf56ce24fe4e921b60f6ca2239932ebd1b8c8556d5a2ac13e5ef1d8ea9c111"
if _, _, err := client1.DecryptMessage(&sMsg11); err == nil {
t.Error("success decrypt message with incorrect sign check")
return
@@ -247,7 +239,6 @@ func TestGetMessageLimit(t *testing.T) {
func testNewClient() IClient {
return NewClient(
message.NewSettings(&message.SSettings{
- FWorkSizeBits: testutils.TCWorkSize,
FMessageSizeBytes: tcMessageSize,
}),
tgPrivKey,
diff --git a/pkg/client/examples/main.go b/pkg/client/examples/main.go
index 9f55bc65..464aaf9c 100644
--- a/pkg/client/examples/main.go
+++ b/pkg/client/examples/main.go
@@ -36,7 +36,6 @@ func newClient() client.IClient {
return client.NewClient(
message.NewSettings(&message.SSettings{
FMessageSizeBytes: (1 << 12),
- FWorkSizeBits: 10,
}),
asymmetric.NewRSAPrivKey(1024),
)
diff --git a/pkg/client/message/message.go b/pkg/client/message/message.go
index 9b19ef0b..d2a8d407 100644
--- a/pkg/client/message/message.go
+++ b/pkg/client/message/message.go
@@ -6,8 +6,8 @@ import (
"strings"
"github.com/number571/go-peer/pkg/crypto/hashing"
- "github.com/number571/go-peer/pkg/crypto/puzzle"
"github.com/number571/go-peer/pkg/encoding"
+ "github.com/number571/go-peer/pkg/errors"
"github.com/number571/go-peer/pkg/payload"
)
@@ -16,37 +16,26 @@ var (
)
const (
- CSeparator = "==="
+ CSeparator = "@"
cSeparatorLen = len(CSeparator)
)
var (
_ IMessage = &SMessage{}
- _ IHead = SHeadMessage{}
- _ IBody = SBodyMessage{}
)
// Basic structure of transport package.
type SMessage struct {
- FHead SHeadMessage `json:"head"`
- FBody SBodyMessage `json:"body"`
- FPayload []byte `json:"-"`
-}
-
-type SHeadMessage struct {
+ FPubKey string `json:"pubk"`
+ FEncKey string `json:"enck"`
FSalt string `json:"salt"`
- FSession string `json:"session"`
- FSender string `json:"sender"`
-}
-
-type SBodyMessage struct {
- FSign string `json:"sign"`
- FHash string `json:"hash"`
- FProof string `json:"proof"`
+ FHash string `json:"hash"`
+ FSign string `json:"sign"`
+ FPayload []byte `json:"-"`
}
// Message can be created only with client module.
-func LoadMessage(psett ISettings, pMsg interface{}) IMessage {
+func LoadMessage(psett ISettings, pMsg interface{}) (IMessage, error) {
msg := new(SMessage)
var recvMsg []byte
@@ -56,16 +45,16 @@ func LoadMessage(psett ISettings, pMsg interface{}) IMessage {
case string:
recvMsg = []byte(x)
default:
- return nil
+ return nil, errors.NewError("unknown type of message")
}
i := bytes.Index(recvMsg, []byte(CSeparator))
if i == -1 {
- return nil
+ return nil, errors.NewError("undefined separator")
}
if err := json.Unmarshal(recvMsg[:i], msg); err != nil {
- return nil
+ return nil, errors.NewError("unmarshal message")
}
switch x := pMsg.(type) {
@@ -75,25 +64,41 @@ func LoadMessage(psett ISettings, pMsg interface{}) IMessage {
encStr := strings.TrimSpace(x[i+cSeparatorLen:])
msg.FPayload = encoding.HexDecode(encStr)
if msg.FPayload == nil {
- return nil
+ return nil, errors.NewError("hex decode payload")
}
default:
panic("got unknown type")
}
if !msg.IsValid(psett) {
- return nil
+ return nil, errors.NewError("message is invalid")
}
- return msg
+ return msg, nil
}
-func (p *SMessage) GetHead() IHead {
- return p.FHead
+func (p *SMessage) GetPubKey() []byte {
+ return encoding.HexDecode(p.FPubKey)
}
-func (p *SMessage) GetBody() IBody {
- return p.FBody
+func (p *SMessage) GetEncKey() []byte {
+ return encoding.HexDecode(p.FEncKey)
+}
+
+func (p *SMessage) GetSalt() []byte {
+ return encoding.HexDecode(p.FSalt)
+}
+
+func (p *SMessage) GetHash() []byte {
+ return encoding.HexDecode(p.FHash)
+}
+
+func (p *SMessage) GetSign() []byte {
+ return encoding.HexDecode(p.FSign)
+}
+
+func (p *SMessage) GetPayload() payload.IPayload {
+ return payload.LoadPayload(p.FPayload)
}
func (p *SMessage) ToBytes() []byte {
@@ -117,50 +122,12 @@ func (p *SMessage) ToString() string {
}
func (p *SMessage) IsValid(psett ISettings) bool {
- if uint64(len(p.ToBytes())) != psett.GetMessageSizeBytes() {
+ switch {
+ case uint64(len(p.ToBytes())) != psett.GetMessageSizeBytes():
+ fallthrough
+ case len(p.GetHash()) != hashing.CSHA256Size:
return false
+ default:
+ return true
}
- if len(p.GetBody().GetHash()) != hashing.CSHA256Size {
- return false
- }
- puzzle := puzzle.NewPoWPuzzle(psett.GetWorkSizeBits())
- return puzzle.VerifyBytes(p.GetBody().GetHash(), p.GetBody().GetProof())
-}
-
-func (p *SMessage) GetPayload() payload.IPayload {
- return payload.LoadPayload(p.FPayload)
-}
-
-// IHead
-
-func (p SHeadMessage) GetSender() []byte {
- return encoding.HexDecode(p.FSender)
-}
-
-func (p SHeadMessage) GetSession() []byte {
- return encoding.HexDecode(p.FSession)
-}
-
-func (p SHeadMessage) GetSalt() []byte {
- return encoding.HexDecode(p.FSalt)
-}
-
-// IBody
-
-func (p SBodyMessage) GetHash() []byte {
- return encoding.HexDecode(p.FHash)
-}
-
-func (p SBodyMessage) GetSign() []byte {
- return encoding.HexDecode(p.FSign)
-}
-
-func (p SBodyMessage) GetProof() uint64 {
- bProof := encoding.HexDecode(p.FProof)
- if len(bProof) != encoding.CSizeUint64 {
- return 0
- }
- res := [encoding.CSizeUint64]byte{}
- copy(res[:], bProof)
- return encoding.BytesToUint64(res)
}
diff --git a/pkg/client/message/message_test.go b/pkg/client/message/message_test.go
index f453b12b..66350a0d 100644
--- a/pkg/client/message/message_test.go
+++ b/pkg/client/message/message_test.go
@@ -10,16 +10,15 @@ import (
)
const (
- tcSalt = "2823c693930a2d230415368221c36f5c1c77accd82c949e5de13bbe8ef00275b72d182d79759b1aef582649c99afd409"
- tcSession = "21273151593d606632e0015107c1f204af68dd1a4977a6e7717260936dc4043e1f57410914f0dcffe372d4fc948ce0b12e9449e9e35556416d6e0f4f1d6c08807b0e98588aeea85c3f4a62512d82d159734d80ea16af0380a0d77f57c5444eaaf4cd9eed67f13fbc4699c608736286cba3e962fdc1642beac195ec59dd2d926a"
- tcSender = "bc2ebe882b76fd7ab77ec19416328902f685dfedec57285d60ac154d7fa67a9d735bd3f22ba4f7394fead3c35bbcc30b8f67dccd15c8a663f4014785124eaf098ed83027870949ed4bc0a0516a9ac901f185b71d7765e14b00edf2743cd02b266695977c8730f891d76c9a69795806edb61426b8bc2f3d32de0a074995844eed93a5648532ff0ba8ee5b1ebd6bd3b33620b7d938852776b8b99276fa"
+ tcSalt = "327d3d5fa3e8df5012ca12a8d65d0644669861797f659ac13adf15c2508bec5bd43538ba6c5c6871992c35ebafdaf019"
+ tcSession = "58e578980580a793c01765b6d8709784d41dbcb53f3fe87e7e4e4d4b33c4f93295bac351966d6cd70f5e352cae1d290bec3b8234d4048807e5aa4d3bb983ab0d668be1f2843b77aea181ea8b92ffbf641aa5f8e25e12243ade696cbace216c5148cb68d0ae93342da9712561b1ca806dd992ce6d14b1cb0d6211780faae7ca15"
+ tcSender = "ac2a318e0e0f4548f07b5444d293304b52bde3e22e23da82147d03a4b6721b98dc43a53adbc1ff33a3819f0c3899b3e2dc9b7cb18b0da96ad6c4ff93123764b68ec660314ee13167c7ece3bb73c72258e05c273155b2bb13860820aebf9c9400158f38b3208826e176ef5b90ea209c5fc302e8162f75ae8fa2bf4c50f5c16256d5d413e6bf69592ed90ae9f91af590c06faf71b5e87ba3dc4a4f96b3"
- tcSign = "fb3ce5d111c74a0b8638f24f8ff200f64ca0e88cda1fd483783930b08e465fa9fc9565a0a3afbdfdf3f463bc77e526f2c41c6ddd2dae5d6f90e741442e2939731cbdad4071c29eff83dff932589b2cbfd8fa8a5fac19de4c40c3adde4cde1235c0bbf053b0e04e826993f8060a50c671c6bf56ce24fe4e921b60f6ca2239932ebd1b8c8556d5a2ac13e5ef1d8ea9cca8"
- tcHash = "e1cc8da32433c2d7f99b38042d7b73db291bd803c55f3c83745ae3ebae6baffe"
- tcProof = 4512
+ tcSign = "cd18d99ec9af3dabd548a5e2b8e4f34add2605671c733342968159eb9fc23484ca14b7b6e465fa3527bcc03a50aa6203240077c5118e18f28d48939df5bfab4fa3d59ed3b23a0bc6a8ba08275256a6c3577bcb887ed7657578e7de711eac7af88de9f75f0fce0428134aa24fe5c9655256c7753d54b49a5504c8d1a2a1d242c8d4459431474ebe9f5e4bd005d7a94681"
+ tcHash = "3d90d389b7454bd3f1a84c4509c0afdc2a92d6acafdd387a541590ed6caf34e0"
// -1 byte from hash
- tcInvalidPrefix = `{"head":{"salt":"2823c693930a2d230415368221c36f5c1c77accd82c949e5de13bbe8ef00275b72d182d79759b1aef582649c99afd409","session":"21273151593d606632e0015107c1f204af68dd1a4977a6e7717260936dc4043e1f57410914f0dcffe372d4fc948ce0b12e9449e9e35556416d6e0f4f1d6c08807b0e98588aeea85c3f4a62512d82d159734d80ea16af0380a0d77f57c5444eaaf4cd9eed67f13fbc4699c608736286cba3e962fdc1642beac195ec59dd2d926a","sender":"bc2ebe882b76fd7ab77ec19416328902f685dfedec57285d60ac154d7fa67a9d735bd3f22ba4f7394fead3c35bbcc30b8f67dccd15c8a663f4014785124eaf098ed83027870949ed4bc0a0516a9ac901f185b71d7765e14b00edf2743cd02b266695977c8730f891d76c9a69795806edb61426b8bc2f3d32de0a074995844eed93a5648532ff0ba8ee5b1ebd6bd3b33620b7d938852776b8b99276fa"},"body":{"sign":"fb3ce5d111c74a0b8638f24f8ff200f64ca0e88cda1fd483783930b08e465fa9fc9565a0a3afbdfdf3f463bc77e526f2c41c6ddd2dae5d6f90e741442e2939731cbdad4071c29eff83dff932589b2cbfd8fa8a5fac19de4c40c3adde4cde1235c0bbf053b0e04e826993f8060a50c671c6bf56ce24fe4e921b60f6ca2239932ebd1b8c8556d5a2ac13e5ef1d8ea9cca8","hash":"cc8da32433c2d7f99b38042d7b73db291bd803c55f3c83745ae3ebae6baffe","proof":"00000000000011a0"}}===`
+ tcInvalidPrefix = `{"pubk":"ac2a318e0e0f4548f07b5444d293304b52bde3e22e23da82147d03a4b6721b98dc43a53adbc1ff33a3819f0c3899b3e2dc9b7cb18b0da96ad6c4ff93123764b68ec660314ee13167c7ece3bb73c72258e05c273155b2bb13860820aebf9c9400158f38b3208826e176ef5b90ea209c5fc302e8162f75ae8fa2bf4c50f5c16256d5d413e6bf69592ed90ae9f91af590c06faf71b5e87ba3dc4a4f96b3","enck":"58e578980580a793c01765b6d8709784d41dbcb53f3fe87e7e4e4d4b33c4f93295bac351966d6cd70f5e352cae1d290bec3b8234d4048807e5aa4d3bb983ab0d668be1f2843b77aea181ea8b92ffbf641aa5f8e25e12243ade696cbace216c5148cb68d0ae93342da9712561b1ca806dd992ce6d14b1cb0d6211780faae7ca15","salt":"327d3d5fa3e8df5012ca12a8d65d0644669861797f659ac13adf15c2508bec5bd43538ba6c5c6871992c35ebafdaf019","hash":"3dd389b7454bd3f1a84c4509c0afdc2a92d6acafdd387a541590ed6caf34e0","sign":"cd18d99ec9af3dabd548a5e2b8e4f34add2605671c733342968159eb9fc23484ca14b7b6e465fa3527bcc03a50aa6203240077c5118e18f28d48939df5bfab4fa3d59ed3b23a0bc6a8ba08275256a6c3577bcb887ed7657578e7de711eac7af88de9f75f0fce0428134aa24fe5c9655256c7753d54b49a5504c8d1a2a1d242c8d4459431474ebe9f5e4bd005d7a94681"}@`
)
func TestSettings(t *testing.T) {
@@ -48,36 +47,35 @@ func TestInvalidMessage(t *testing.T) {
params := NewSettings(&SSettings{
FMessageSizeBytes: (2 << 10),
- FWorkSizeBits: testutils.TCWorkSize,
})
- if msg := LoadMessage(params, struct{}{}); msg != nil {
+ if _, err := LoadMessage(params, struct{}{}); err == nil {
t.Error("success load message with unknown type")
return
}
- if msg := LoadMessage(params, []byte{123}); msg != nil {
+ if _, err := LoadMessage(params, []byte{123}); err == nil {
t.Error("success load invalid message")
return
}
- if msg := LoadMessage(params, []byte(CSeparator)); msg != nil {
+ if _, err := LoadMessage(params, []byte(CSeparator)); err == nil {
t.Error("success unmarshal invalid message")
return
}
- if msg := LoadMessage(params, tcInvalidPrefix+"!@#"); msg != nil {
+ if _, err := LoadMessage(params, tcInvalidPrefix+"!@#"); err == nil {
t.Error("success decode body in invalid message")
return
}
- if msg := LoadMessage(params, []byte(tcInvalidPrefix+"12")); msg != nil {
+ if _, err := LoadMessage(params, []byte(tcInvalidPrefix+"12")); err == nil {
t.Error("success decode body with invalid message size")
return
}
prng := random.NewStdPRNG()
- if msg := LoadMessage(params, []byte(tcInvalidPrefix+"12"+prng.GetString(928))); msg != nil {
+ if _, err := LoadMessage(params, []byte(tcInvalidPrefix+"12"+prng.GetString(928))); err == nil {
t.Error("success decode body with invalid message size")
return
}
@@ -88,67 +86,55 @@ func TestMessage(t *testing.T) {
params := NewSettings(&SSettings{
FMessageSizeBytes: (2 << 10),
- FWorkSizeBits: testutils.TCWorkSize,
})
- msg1 := LoadMessage(params, testutils.TCBinaryMessage)
- if msg1 == nil {
- t.Error("failed load message")
+ msg1, err := LoadMessage(params, testutils.TCBinaryMessage)
+ if err != nil {
+ t.Error(err)
return
}
testMessage(t, msg1)
- msg2 := LoadMessage(params, testutils.TCStringMessage)
- if msg2 == nil {
- t.Error("failed load message")
+ msg2, err := LoadMessage(params, testutils.TCStringMessage)
+ if err != nil {
+ t.Error(err)
return
}
testMessage(t, msg2)
}
func testMessage(t *testing.T, msg IMessage) {
- if !bytes.Equal(msg.GetHead().GetSalt(), encoding.HexDecode(tcSalt)) {
+ if !bytes.Equal(msg.GetSalt(), encoding.HexDecode(tcSalt)) {
t.Error("incorrect salt value")
return
}
- if !bytes.Equal(msg.GetHead().GetSession(), encoding.HexDecode(tcSession)) {
+ if !bytes.Equal(msg.GetEncKey(), encoding.HexDecode(tcSession)) {
t.Error("incorrect session value")
return
}
- if !bytes.Equal(msg.GetHead().GetSender(), encoding.HexDecode(tcSender)) {
+ if !bytes.Equal(msg.GetPubKey(), encoding.HexDecode(tcSender)) {
t.Error("incorrect sender value")
return
}
- if !bytes.Equal(msg.GetBody().GetSign(), encoding.HexDecode(tcSign)) {
+ if !bytes.Equal(msg.GetSign(), encoding.HexDecode(tcSign)) {
t.Error("incorrect sign value")
return
}
- if !bytes.Equal(msg.GetBody().GetHash(), encoding.HexDecode(tcHash)) {
+ if !bytes.Equal(msg.GetHash(), encoding.HexDecode(tcHash)) {
t.Error("incorrect hash value")
return
}
- if msg.GetBody().GetProof() != tcProof {
- t.Error("incorrect proof value")
- return
- }
-
if msg.GetPayload() == nil {
t.Error("failed get encrypted payload")
return
}
msg1 := msg.(*SMessage)
- msg1.FBody.FProof = "111"
- if msg.GetBody().GetProof() != 0 {
- t.Error("got not null value with incorrect proof")
- return
- }
-
msg1.FPayload = []byte{123}
if msg.GetPayload() != nil {
t.Error("success got incorrect payload")
diff --git a/pkg/client/message/settings.go b/pkg/client/message/settings.go
index 8fa46876..7c725ac9 100644
--- a/pkg/client/message/settings.go
+++ b/pkg/client/message/settings.go
@@ -6,13 +6,11 @@ var (
type SSettings sSettings
type sSettings struct {
- FWorkSizeBits uint64
FMessageSizeBytes uint64
}
func NewSettings(pSett *SSettings) ISettings {
return (&sSettings{
- FWorkSizeBits: pSett.FWorkSizeBits,
FMessageSizeBytes: pSett.FMessageSizeBytes,
}).mustNotNull()
}
@@ -24,10 +22,6 @@ func (p *sSettings) mustNotNull() ISettings {
return p
}
-func (p *sSettings) GetWorkSizeBits() uint64 {
- return p.FWorkSizeBits
-}
-
func (p *sSettings) GetMessageSizeBytes() uint64 {
return p.FMessageSizeBytes
}
diff --git a/pkg/client/message/types.go b/pkg/client/message/types.go
index bf91a102..db3d0978 100644
--- a/pkg/client/message/types.go
+++ b/pkg/client/message/types.go
@@ -5,28 +5,17 @@ import (
"github.com/number571/go-peer/pkg/types"
)
+type ISettings interface {
+ GetMessageSizeBytes() uint64
+}
+
type IMessage interface {
types.IConverter
IsValid(ISettings) bool
-
- GetHead() IHead
- GetBody() IBody
- GetPayload() payload.IPayload
-}
-
-type ISettings interface {
- GetMessageSizeBytes() uint64
- GetWorkSizeBits() uint64
-}
-
-type IHead interface {
- GetSender() []byte
- GetSession() []byte
- GetSalt() []byte
-}
-
-type IBody interface {
- GetHash() []byte
- GetSign() []byte
- GetProof() uint64
+ GetPubKey() []byte // Public key of the sender.
+ GetEncKey() []byte // One-time key of encryption data.
+ GetSalt() []byte // Random bytes for hide data of the hash.
+ GetHash() []byte // Hash of the (sender + receiver + payload).
+ GetSign() []byte // Sign of the hash.
+ GetPayload() payload.IPayload // Main data.
}
diff --git a/pkg/client/queue/examples/main.go b/pkg/client/queue/examples/main.go
index befcdccd..c956a297 100644
--- a/pkg/client/queue/examples/main.go
+++ b/pkg/client/queue/examples/main.go
@@ -25,7 +25,6 @@ func main() {
client.NewClient(
message.NewSettings(&message.SSettings{
FMessageSizeBytes: (1 << 12),
- FWorkSizeBits: 10,
}),
asymmetric.NewRSAPrivKey(1024),
),
diff --git a/pkg/client/queue/queue_test.go b/pkg/client/queue/queue_test.go
index 520141cb..e8836373 100644
--- a/pkg/client/queue/queue_test.go
+++ b/pkg/client/queue/queue_test.go
@@ -52,7 +52,6 @@ func TestRunStopQueue(t *testing.T) {
client := client.NewClient(
message.NewSettings(&message.SSettings{
- FWorkSizeBits: testutils.TCWorkSize,
FMessageSizeBytes: testutils.TCMessageSize,
}),
asymmetric.LoadRSAPrivKey(testutils.Tc1PrivKey1024),
@@ -113,7 +112,6 @@ func TestQueue(t *testing.T) {
oldClient := client.NewClient(
message.NewSettings(&message.SSettings{
- FWorkSizeBits: testutils.TCWorkSize,
FMessageSizeBytes: testutils.TCMessageSize,
}),
asymmetric.LoadRSAPrivKey(testutils.Tc1PrivKey1024),
@@ -151,7 +149,7 @@ func testQueue(queue IMessageQueue) error {
for i := 0; i < len(msgs)-1; i++ {
for j := i + 1; j < len(msgs); j++ {
- if bytes.Equal(msgs[i].GetBody().GetHash(), msgs[j].GetBody().GetHash()) {
+ if bytes.Equal(msgs[i].GetHash(), msgs[j].GetHash()) {
return fmt.Errorf("hash of messages equals (%d and %d)", i, i)
}
}
@@ -166,13 +164,13 @@ func testQueue(queue IMessageQueue) error {
return err
}
- hash := msg.GetBody().GetHash()
+ hash := msg.GetHash()
for i := 0; i < 3; i++ {
queue.EnqueueMessage(msg)
}
for i := 0; i < 3; i++ {
msg := <-queue.DequeueMessage()
- if !bytes.Equal(msg.GetBody().GetHash(), hash) {
+ if !bytes.Equal(msg.GetHash(), hash) {
return fmt.Errorf("hash of messages not equals (%d)", i)
}
}
diff --git a/pkg/network/anonymity/anonymity.go b/pkg/network/anonymity/anonymity.go
index 61f404a9..d76e5202 100644
--- a/pkg/network/anonymity/anonymity.go
+++ b/pkg/network/anonymity/anonymity.go
@@ -169,16 +169,6 @@ func (p *sNode) recv(pActionKey string) ([]byte, error) {
}
}
-func (p *sNode) newNetworkMessage(pSett net_message.ISettings, pMsg message.IMessage) net_message.IMessage {
- return net_message.NewMessage(
- pSett,
- payload.NewPayload(
- p.fSettings.GetNetworkMask(),
- pMsg.ToBytes(),
- ),
- )
-}
-
func (p *sNode) runQueue() error {
if err := p.fQueue.Run(); err != nil {
return errors.WrapError(err, "run queue")
@@ -227,10 +217,13 @@ func (p *sNode) handleWrapper() network.IHandlerF {
logBuilder.WithConn(pConn)
client := p.fQueue.GetClient()
- msg := message.LoadMessage(
+ msg, err := message.LoadMessage(
client.GetSettings(),
pMsg.GetPayload().GetBody(),
)
+ if err != nil {
+ return errors.WrapError(err, "load message")
+ }
// try store hash of message
if ok, err := p.storeHashWithBroadcast(logBuilder, msg, pMsg); !ok {
@@ -345,15 +338,13 @@ func (p *sNode) enqueuePayload(pType iDataType, pRecv asymmetric.IPubKey, pPld p
}
var (
- size = len(msg.ToBytes())
- hash = msg.GetBody().GetHash()
- proof = msg.GetBody().GetProof()
+ size = len(msg.ToBytes())
+ hash = msg.GetHash()
)
// enrich logger
logBuilder.
WithHash(hash).
- WithProof(proof).
WithSize(size).
WithType(logType)
@@ -374,8 +365,8 @@ func (p *sNode) storeHashWithBroadcast(pLogBuilder anon_logger.ILogBuilder, pMsg
var (
size = len(pMsg.ToBytes())
- hash = pMsg.GetBody().GetHash()
- proof = pMsg.GetBody().GetProof()
+ hash = pNetMsg.GetHash()
+ proof = pNetMsg.GetProof()
database = p.fWrapperDB.Get()
myAddress = p.fQueue.GetClient().GetPubKey().GetAddress().ToBytes()
)
diff --git a/pkg/network/anonymity/anonymity_test.go b/pkg/network/anonymity/anonymity_test.go
index dd0b4471..1c4a16dc 100644
--- a/pkg/network/anonymity/anonymity_test.go
+++ b/pkg/network/anonymity/anonymity_test.go
@@ -14,6 +14,7 @@ import (
"github.com/number571/go-peer/pkg/errors"
"github.com/number571/go-peer/pkg/logger"
"github.com/number571/go-peer/pkg/network"
+ "github.com/number571/go-peer/pkg/payload"
"github.com/number571/go-peer/pkg/queue_set"
"github.com/number571/go-peer/pkg/storage"
"github.com/number571/go-peer/pkg/storage/database"
@@ -375,7 +376,7 @@ func TestHandleWrapper(t *testing.T) {
}
sett := net_message.NewSettings(&net_message.SSettings{})
- netMsg := node.newNetworkMessage(sett, msg)
+ netMsg := node.testNewNetworkMessage(sett, msg)
if err := handler(nil, nil, netMsg); err != nil {
t.Error(err)
return
@@ -405,7 +406,7 @@ func TestHandleWrapper(t *testing.T) {
return
}
- netMsg2 := node.newNetworkMessage(sett, msg2)
+ netMsg2 := node.testNewNetworkMessage(sett, msg2)
if err := handler(nil, nil, netMsg2); err != nil {
t.Error(err) // works only logger
return
@@ -423,7 +424,7 @@ func TestHandleWrapper(t *testing.T) {
return
}
- netMsg3 := node.newNetworkMessage(sett, msg3)
+ netMsg3 := node.testNewNetworkMessage(sett, msg3)
if err := handler(nil, nil, netMsg3); err != nil {
t.Error(err) // works only logger
return
@@ -441,7 +442,7 @@ func TestHandleWrapper(t *testing.T) {
return
}
- netMsg4 := node.newNetworkMessage(sett, msg4)
+ netMsg4 := node.testNewNetworkMessage(sett, msg4)
if err := handler(nil, nil, netMsg4); err != nil {
t.Error(err) // works only logger
return
@@ -470,7 +471,7 @@ func TestStoreHashWithBroadcastMessage(t *testing.T) {
}
sett := net_message.NewSettings(&net_message.SSettings{})
- netMsg := node.newNetworkMessage(sett, msg)
+ netMsg := node.testNewNetworkMessage(sett, msg)
logBuilder := anon_logger.NewLogBuilder("_")
if ok, err := node.storeHashWithBroadcast(logBuilder, nil, nil); ok || err == nil {
@@ -673,7 +674,6 @@ func testNewNode(timeWait time.Duration, addr string, typeDB, numDB int) INode {
}),
client.NewClient(
message.NewSettings(&message.SSettings{
- FWorkSizeBits: testutils.TCWorkSize,
FMessageSizeBytes: testutils.TCMessageSize,
}),
asymmetric.LoadRSAPrivKey(testutils.Tc1PrivKey1024),
@@ -701,3 +701,13 @@ func testDeleteDB(typeDB int) {
os.RemoveAll(fmt.Sprintf(tcPathDBTemplate, typeDB, i))
}
}
+
+func (p *sNode) testNewNetworkMessage(pSett net_message.ISettings, pMsg message.IMessage) net_message.IMessage {
+ return net_message.NewMessage(
+ pSett,
+ payload.NewPayload(
+ p.fSettings.GetNetworkMask(),
+ pMsg.ToBytes(),
+ ),
+ )
+}
diff --git a/pkg/network/anonymity/examples/echo/main.go b/pkg/network/anonymity/examples/echo/main.go
index 4de0ce05..c7fcd9e1 100644
--- a/pkg/network/anonymity/examples/echo/main.go
+++ b/pkg/network/anonymity/examples/echo/main.go
@@ -132,7 +132,6 @@ func newNode(serviceAddress, name, dbPath string) anonymity.INode {
}),
client.NewClient(
message.NewSettings(&message.SSettings{
- FWorkSizeBits: 10,
FMessageSizeBytes: msgSize,
}),
asymmetric.NewRSAPrivKey(1024),
diff --git a/pkg/network/anonymity/examples/ping-ping/main.go b/pkg/network/anonymity/examples/ping-ping/main.go
index 743c34d1..0d9a5512 100644
--- a/pkg/network/anonymity/examples/ping-ping/main.go
+++ b/pkg/network/anonymity/examples/ping-ping/main.go
@@ -170,7 +170,6 @@ func newNode(serviceAddress, name, dbPath string) anonymity.INode {
}),
client.NewClient(
message.NewSettings(&message.SSettings{
- FWorkSizeBits: 10,
FMessageSizeBytes: msgSize,
}),
asymmetric.NewRSAPrivKey(1024),
diff --git a/pkg/network/conn/types.go b/pkg/network/conn/types.go
index 886b47f9..15264762 100644
--- a/pkg/network/conn/types.go
+++ b/pkg/network/conn/types.go
@@ -4,7 +4,7 @@ import (
"net"
"time"
- "github.com/number571/go-peer/pkg/network/message"
+ net_message "github.com/number571/go-peer/pkg/network/message"
"github.com/number571/go-peer/pkg/types"
)
@@ -14,12 +14,12 @@ type IConn interface {
GetSettings() ISettings
GetSocket() net.Conn
- WriteMessage(message.IMessage) error
- ReadMessage(chan struct{}) (message.IMessage, error)
+ WriteMessage(net_message.IMessage) error
+ ReadMessage(chan struct{}) (net_message.IMessage, error)
}
type ISettings interface {
- message.ISettings
+ net_message.ISettings
// for subsequent inheritance on multiple connections
SetNetworkKey(string)
diff --git a/test/_data/test_binary.msg b/test/_data/test_binary.msg
index 409709ec..95c24cc0 100644
Binary files a/test/_data/test_binary.msg and b/test/_data/test_binary.msg differ
diff --git a/test/_data/test_string.msg b/test/_data/test_string.msg
index 8e892511..3f1e6fc9 100644
--- a/test/_data/test_string.msg
+++ b/test/_data/test_string.msg
@@ -1 +1 @@
-{"head":{"salt":"2823c693930a2d230415368221c36f5c1c77accd82c949e5de13bbe8ef00275b72d182d79759b1aef582649c99afd409","session":"21273151593d606632e0015107c1f204af68dd1a4977a6e7717260936dc4043e1f57410914f0dcffe372d4fc948ce0b12e9449e9e35556416d6e0f4f1d6c08807b0e98588aeea85c3f4a62512d82d159734d80ea16af0380a0d77f57c5444eaaf4cd9eed67f13fbc4699c608736286cba3e962fdc1642beac195ec59dd2d926a","sender":"bc2ebe882b76fd7ab77ec19416328902f685dfedec57285d60ac154d7fa67a9d735bd3f22ba4f7394fead3c35bbcc30b8f67dccd15c8a663f4014785124eaf098ed83027870949ed4bc0a0516a9ac901f185b71d7765e14b00edf2743cd02b266695977c8730f891d76c9a69795806edb61426b8bc2f3d32de0a074995844eed93a5648532ff0ba8ee5b1ebd6bd3b33620b7d938852776b8b99276fa"},"body":{"sign":"fb3ce5d111c74a0b8638f24f8ff200f64ca0e88cda1fd483783930b08e465fa9fc9565a0a3afbdfdf3f463bc77e526f2c41c6ddd2dae5d6f90e741442e2939731cbdad4071c29eff83dff932589b2cbfd8fa8a5fac19de4c40c3adde4cde1235c0bbf053b0e04e826993f8060a50c671c6bf56ce24fe4e921b60f6ca2239932ebd1b8c8556d5a2ac13e5ef1d8ea9cca8","hash":"e1cc8da32433c2d7f99b38042d7b73db291bd803c55f3c83745ae3ebae6baffe","proof":"00000000000011a0"}}===6108f8caf8c3c7e782c52e3d0bfa50542b7edca7082639943e7121a44e4de2e004f24eb5b64afc0626d828c4e4c600e962a5c1571c5524d2c296e01f91220860a3b4ca64189dae6b64b39cb316cbef0d608f88979df1781be22e111f3150b0212051bc8e09a605a9d0a596216d539d99fa978b147a89882f4eee6244fa6d2afc608520b3661b8e4c58badaf889a3d6db23b0b08542efaf5c5e9a25e055cd5f29b4866b5dffcbae7c62bd6a3bfc2aaf99f8a51c5379fa4a390b63c54fc91e3ea3dc9ddb2afd24441cee7d41fa5544df038562ef02996829c0dbaa28c0ea3ffc0cabe4ae7b40f8ccdaa9e2be82fcc52558ff509f2a8947a6e91807cce0031f65a02f239b3188b108a7dd0343667738be1678c0b1cceab950366460eb30f699e8c4e3ad0aaa2903a6cb5f1e8245299178e6c18d1dba848d17e451da17ef5f2b0690b5bc7ef8bb0bc80fe3829d726a1c6e94196428a4a29224c7e09684f1731706d104f0cda3f6fe66f4b99f5091edfd8bcdf1a49d8bb0ac289dda9fd0c99e352a3f768c4f4a77bcbdeb68406f89e3f12b94e32be568b76b4076c149f725dbb7e88919f8f66d47b5e774a2954a8dd507ac1589a246f86d31fe40d6080fbc8710c70276c3670a4b5045dc20ced33d7dfef2d88fa54d12dbd57095c7369456eb00b4f6b5e222916d5324ff390ad79110c9a8b967aaf4814b6f345d1aba181f6ea7f665e33d3a62ca7d52f8ee3f9d1dc727d0874eb61a99903d3bfa5685f1709379776d05466e91a47fe2a8e4fee6d407611c645aab7076882028fac6829466b678ef89f8b80c185335e380effa6d8527f9f2c8170edbd5162969ed4ab8ee062cd4e7bb46328b295651df74890ab9a89e0b279d000969ef0e68d82313490a0249b6d1fb44d56f6259d833b6a7e8435c277bef954fb234671d44d205e819c311cd425810723339be7b825d159f9300a95b2234eebc2a7c0d5df453d5fbc4de76f16ff7a4b662286e5bb16e5afd9b26c06100335df06faaa969e7ed659ce5b132e0e8fb33c8cfb1f63a2b4198a3af32d768c07fc22c7f8a01f99cbd356f0cac15f55b34fb63a0dcb52ec1317ed578c2c1eca517e4604a506abccb17f2262f4d34dae410e61748c39e024ac4bf27a5051216a00b088a4a760e6ce7fc9440b6efbc29288e8158c9ede19419794e5088df7c8872d959908fb46be034333e13cd8720394e71317529662d969e88b3d1d4f5ea3bf2c19dd68b5667771714feaee36a72b60efad1a11b125138302dff0bf785fd97549ba2f25fbdd6a00a6cab36d63d305712a158
\ No newline at end of file
+{"pubk":"ac2a318e0e0f4548f07b5444d293304b52bde3e22e23da82147d03a4b6721b98dc43a53adbc1ff33a3819f0c3899b3e2dc9b7cb18b0da96ad6c4ff93123764b68ec660314ee13167c7ece3bb73c72258e05c273155b2bb13860820aebf9c9400158f38b3208826e176ef5b90ea209c5fc302e8162f75ae8fa2bf4c50f5c16256d5d413e6bf69592ed90ae9f91af590c06faf71b5e87ba3dc4a4f96b3","enck":"58e578980580a793c01765b6d8709784d41dbcb53f3fe87e7e4e4d4b33c4f93295bac351966d6cd70f5e352cae1d290bec3b8234d4048807e5aa4d3bb983ab0d668be1f2843b77aea181ea8b92ffbf641aa5f8e25e12243ade696cbace216c5148cb68d0ae93342da9712561b1ca806dd992ce6d14b1cb0d6211780faae7ca15","salt":"327d3d5fa3e8df5012ca12a8d65d0644669861797f659ac13adf15c2508bec5bd43538ba6c5c6871992c35ebafdaf019","hash":"3d90d389b7454bd3f1a84c4509c0afdc2a92d6acafdd387a541590ed6caf34e0","sign":"cd18d99ec9af3dabd548a5e2b8e4f34add2605671c733342968159eb9fc23484ca14b7b6e465fa3527bcc03a50aa6203240077c5118e18f28d48939df5bfab4fa3d59ed3b23a0bc6a8ba08275256a6c3577bcb887ed7657578e7de711eac7af88de9f75f0fce0428134aa24fe5c9655256c7753d54b49a5504c8d1a2a1d242c8d4459431474ebe9f5e4bd005d7a94681"}@4b25caa0f199bd7c19fa9fba50d705b497767f9204d038a0d2ccf705270964cbd26c6edc592737836a59e37038dc7065905f0f753c5f6c7530470e7be9c36b38389aa48b0bde34eebe916ce0b510fe968d3f7d2023d90e98be44932876596b5f5fb4739e6389e3fe5bfcc700a9c4c7dce2f1a6cd2caff84f3758d007444781f09a749c6a89e7ad32834e6403f60ca29eee8a99c0413204385278a0bfaf9ae0334d84663e85dbc176f7d8811a119b1b8fe182cdeb8dd2d65f2dea02408106e8bd607d39607881f6b84a4fb2c00d35766d5658db0b3fc8cadf2ea03fa8f36583444ed4e84bc23304d071a4455f60412635e69374c491b6030c5bbe6282f0f6773123c1d9186e6ca60ea95a5406b286a595f8b2436d350748610a1e0c6c6e5e4dc52b9e0f8dc9d227f1646ad378c094c1307a6de7b854e8a2566c3108a728eef1e80dd0aec0a2dc7daf80be046401b35f90707562306686e6ee9b97559c10e82d9f9e7e0a5c1123d5e8793b0df742576df52bfa99990dd559762b25310820a8ff31d657c75e6fec5923add2571cd8bddd3f53ad4bdabe0c612b31128ce33ea5c66259a3e912e6cd3f3a16638806a9436c223d4644b4a5ffbabc0c0d32be2a34f24784c138ec5475e09009443077beb339c8d52a7dddb87647cc3a621c31550bac6ce9d57900abac27734cec2caef24a1ef791297e78ed83c6c81e6e0729429fa0a9edf18903e8a36c8761c4069963c39ff804923ad7650ee467304fca95c2ba36e026bd11ee1aa732f79efb8b921adc7c67234e17a7b95de6dda96f6374d981e4217ba4c4d01ba360b3ca8212fe9afedc0ac9c7bd845343e2d70d4735af3fae74f3b5de7b6dd628be64ff26d7151256ff965be8f235ba6f1a69f101b27db9c9130d457169ecb56068894bce3e67c12f7e7cc14a6e4ddd4b3b3931498a3427b3c46ea0894de94e7c2977ae18c1d9c82d1a6537b92d77d53e2ce435b8c2adaf95682d5fcf4c86d726f4e1114024f2b2d2bcf36b446f67bedc890ebe8ad1b88d900fddcf1cc97979677bba6b9953a4ad968e66ac63f6602fe9eb789bd4d5db06cd4894de0ac258ddb18df2da88d09c50c6b8c9f8ed7c45b4d9ae36af2b7e91fd244180804ee34f4a2a73ae636a199a81cda521dfb708d038565531be74ed070666dcfa56450a723fb48709a786e51514a5acca6ebb3de64a7930eaa1acca5bc45b36c172b0a5c75cd94e31fbde2293f1e0aa863a59597dfc1a3d517238394a37e24c590454f2cf6c1b1b96a1b772b5e81f91f8c71f65a2ea38b7fcc0b0776d16ac775faf0f3dc864ae9c99a46021db6c230a12c022cce871d13508bfe06b4f6c0086b23f21ddd3047c285b0637085aaaaa0ff2a84dc012
\ No newline at end of file
diff --git a/test/result/badge.svg b/test/result/badge.svg
index 7d5131bc..a080db19 100644
--- a/test/result/badge.svg
+++ b/test/result/badge.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/test/result/coverage.out b/test/result/coverage.out
index f3a7c7e1..a91c58ec 100644
--- a/test/result/coverage.out
+++ b/test/result/coverage.out
@@ -1,4 +1,26 @@
mode: set
+github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:15.13,16.23 1 0
+github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:16.23,17.51 1 0
+github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:20.2,21.16 2 0
+github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:21.16,22.13 1 0
+github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:25.2,26.16 2 0
+github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:26.16,27.13 1 0
+github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:30.2,31.60 2 0
+github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:34.80,35.54 1 0
+github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:35.54,36.34 1 0
+github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:36.34,39.4 2 0
+github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:42.3,43.17 2 0
+github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:43.17,46.4 2 0
+github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:48.3,49.28 2 0
+github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:53.83,60.16 2 0
+github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:60.16,62.3 1 0
+github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:65.2,66.16 2 0
+github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:66.16,68.3 1 0
+github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:69.2,73.16 3 0
+github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:73.16,75.3 1 0
+github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:78.2,78.36 1 0
+github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:78.36,80.3 1 0
+github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:82.2,82.50 1 0
github.com/number571/go-peer/cmd/hidden_lake/adapters/common/recv/main.go:29.36,36.16 3 0
github.com/number571/go-peer/cmd/hidden_lake/adapters/common/recv/main.go:36.16,37.13 1 0
github.com/number571/go-peer/cmd/hidden_lake/adapters/common/recv/main.go:39.2,39.56 1 0
@@ -61,28 +83,6 @@ github.com/number571/go-peer/cmd/hidden_lake/adapters/common/recv/main.go:221.2,
github.com/number571/go-peer/cmd/hidden_lake/adapters/common/recv/main.go:221.89,223.3 1 0
github.com/number571/go-peer/cmd/hidden_lake/adapters/common/recv/main.go:225.2,225.12 1 0
github.com/number571/go-peer/cmd/hidden_lake/adapters/common/recv/main.go:228.49,232.2 1 0
-github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:15.13,16.23 1 0
-github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:16.23,17.51 1 0
-github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:20.2,21.16 2 0
-github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:21.16,22.13 1 0
-github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:25.2,26.16 2 0
-github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:26.16,27.13 1 0
-github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:30.2,31.60 2 0
-github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:34.80,35.54 1 0
-github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:35.54,36.34 1 0
-github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:36.34,39.4 2 0
-github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:42.3,43.17 2 0
-github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:43.17,46.4 2 0
-github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:48.3,49.28 2 0
-github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:53.83,60.16 2 0
-github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:60.16,62.3 1 0
-github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:65.2,66.16 2 0
-github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:66.16,68.3 1 0
-github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:69.2,73.16 3 0
-github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:73.16,75.3 1 0
-github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:78.2,78.36 1 0
-github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:78.36,80.3 1 0
-github.com/number571/go-peer/cmd/hidden_lake/adapters/common/send/main.go:82.2,82.50 1 0
github.com/number571/go-peer/cmd/hidden_lake/adapters/common/service/main.go:28.36,35.16 3 0
github.com/number571/go-peer/cmd/hidden_lake/adapters/common/service/main.go:35.16,36.13 1 0
github.com/number571/go-peer/cmd/hidden_lake/adapters/common/service/main.go:38.2,38.56 1 0
@@ -214,6 +214,45 @@ github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/database/message
github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/database/relation.go:14.62,19.2 1 0
github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/database/relation.go:21.46,23.2 1 0
github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/database/relation.go:25.49,27.2 1 0
+github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:21.58,23.16 2 0
+github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:23.16,25.3 1 0
+github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:27.2,28.16 2 0
+github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:28.16,30.3 1 0
+github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:32.2,33.16 2 0
+github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:33.16,35.3 1 0
+github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:37.2,41.8 1 0
+github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:44.28,45.37 1 0
+github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:45.37,47.3 1 0
+github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:48.2,48.37 1 0
+github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:48.37,50.3 1 0
+github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:51.2,51.21 1 0
+github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:54.29,58.2 3 0
+github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/main.go:9.13,11.16 2 0
+github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/main.go:11.16,12.13 1 0
+github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/main.go:15.2,18.34 3 0
+github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/main.go:18.34,19.13 1 0
+github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/main.go:21.2,21.15 1 0
+github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/main.go:21.15,22.36 1 0
+github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/main.go:22.36,23.14 1 0
+github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/main.go:27.2,27.12 1 0
+github.com/number571/go-peer/cmd/hidden_lake/messenger/cmd/hlm/main.go:11.13,13.16 2 0
+github.com/number571/go-peer/cmd/hidden_lake/messenger/cmd/hlm/main.go:13.16,14.13 1 0
+github.com/number571/go-peer/cmd/hidden_lake/messenger/cmd/hlm/main.go:17.2,20.34 3 0
+github.com/number571/go-peer/cmd/hidden_lake/messenger/cmd/hlm/main.go:20.34,21.13 1 0
+github.com/number571/go-peer/cmd/hidden_lake/messenger/cmd/hlm/main.go:23.2,23.15 1 0
+github.com/number571/go-peer/cmd/hidden_lake/messenger/cmd/hlm/main.go:23.15,24.36 1 0
+github.com/number571/go-peer/cmd/hidden_lake/messenger/cmd/hlm/main.go:24.36,25.14 1 0
+github.com/number571/go-peer/cmd/hidden_lake/messenger/cmd/hlm/main.go:29.2,29.12 1 0
+github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/chat_queue/chat_queue.go:19.41,24.2 1 0
+github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/chat_queue/chat_queue.go:26.29,34.2 5 0
+github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/chat_queue/chat_queue.go:36.58,37.15 1 0
+github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/chat_queue/chat_queue.go:37.15,41.3 3 0
+github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/chat_queue/chat_queue.go:43.2,48.16 5 0
+github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/chat_queue/chat_queue.go:51.42,55.31 3 0
+github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/chat_queue/chat_queue.go:55.31,57.3 1 0
+github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/chat_queue/chat_queue.go:60.2,60.30 1 0
+github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/chat_queue/chat_queue.go:60.30,62.3 1 0
+github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/chat_queue/chat_queue.go:64.2,64.17 1 0
github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/config/config.go:48.68,51.26 2 0
github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/config/config.go:51.26,53.3 1 0
github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/config/config.go:55.2,55.73 1 0
@@ -282,45 +321,6 @@ github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/config/init.go:2
github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/config/wrapper.go:12.40,17.2 1 0
github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/config/wrapper.go:19.40,21.2 1 0
github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/config/wrapper.go:23.40,25.2 1 0
-github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:21.58,23.16 2 0
-github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:23.16,25.3 1 0
-github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:27.2,28.16 2 0
-github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:28.16,30.3 1 0
-github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:32.2,33.16 2 0
-github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:33.16,35.3 1 0
-github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:37.2,41.8 1 0
-github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:44.28,45.37 1 0
-github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:45.37,47.3 1 0
-github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:48.2,48.37 1 0
-github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:48.37,50.3 1 0
-github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:51.2,51.21 1 0
-github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/init_app.go:54.29,58.2 3 0
-github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/main.go:9.13,11.16 2 0
-github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/main.go:11.16,12.13 1 0
-github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/main.go:15.2,18.34 3 0
-github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/main.go:18.34,19.13 1 0
-github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/main.go:21.2,21.15 1 0
-github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/main.go:21.15,22.36 1 0
-github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/main.go:22.36,23.14 1 0
-github.com/number571/go-peer/cmd/hidden_lake/composite/service_traffic_messenger/cmd/hlc_stm/main.go:27.2,27.12 1 0
-github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/chat_queue/chat_queue.go:19.41,24.2 1 0
-github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/chat_queue/chat_queue.go:26.29,34.2 5 0
-github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/chat_queue/chat_queue.go:36.58,37.15 1 0
-github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/chat_queue/chat_queue.go:37.15,41.3 3 0
-github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/chat_queue/chat_queue.go:43.2,48.16 5 0
-github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/chat_queue/chat_queue.go:51.42,55.31 3 0
-github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/chat_queue/chat_queue.go:55.31,57.3 1 0
-github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/chat_queue/chat_queue.go:60.2,60.30 1 0
-github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/chat_queue/chat_queue.go:60.30,62.3 1 0
-github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/chat_queue/chat_queue.go:64.2,64.17 1 0
-github.com/number571/go-peer/cmd/hidden_lake/messenger/cmd/hlm/main.go:11.13,13.16 2 0
-github.com/number571/go-peer/cmd/hidden_lake/messenger/cmd/hlm/main.go:13.16,14.13 1 0
-github.com/number571/go-peer/cmd/hidden_lake/messenger/cmd/hlm/main.go:17.2,20.34 3 0
-github.com/number571/go-peer/cmd/hidden_lake/messenger/cmd/hlm/main.go:20.34,21.13 1 0
-github.com/number571/go-peer/cmd/hidden_lake/messenger/cmd/hlm/main.go:23.2,23.15 1 0
-github.com/number571/go-peer/cmd/hidden_lake/messenger/cmd/hlm/main.go:23.15,24.36 1 0
-github.com/number571/go-peer/cmd/hidden_lake/messenger/cmd/hlm/main.go:24.36,25.14 1 0
-github.com/number571/go-peer/cmd/hidden_lake/messenger/cmd/hlm/main.go:29.2,29.12 1 0
github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/utils/utils.go:24.13,26.74 2 1
github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/utils/utils.go:26.74,27.13 1 0
github.com/number571/go-peer/cmd/hidden_lake/messenger/internal/utils/utils.go:30.2,31.62 2 1
@@ -617,14 +617,6 @@ github.com/number571/go-peer/cmd/hidden_lake/messenger/pkg/app/init_service.go:5
github.com/number571/go-peer/cmd/hidden_lake/messenger/pkg/app/init_service.go:55.71,56.57 1 0
github.com/number571/go-peer/cmd/hidden_lake/messenger/pkg/app/init_service.go:56.57,59.4 2 0
github.com/number571/go-peer/cmd/hidden_lake/messenger/pkg/app/init_service.go:60.3,60.39 1 0
-github.com/number571/go-peer/cmd/hidden_lake/service/cmd/hls/main.go:11.13,13.16 2 0
-github.com/number571/go-peer/cmd/hidden_lake/service/cmd/hls/main.go:13.16,14.13 1 0
-github.com/number571/go-peer/cmd/hidden_lake/service/cmd/hls/main.go:17.2,20.34 3 0
-github.com/number571/go-peer/cmd/hidden_lake/service/cmd/hls/main.go:20.34,21.13 1 0
-github.com/number571/go-peer/cmd/hidden_lake/service/cmd/hls/main.go:23.2,23.15 1 0
-github.com/number571/go-peer/cmd/hidden_lake/service/cmd/hls/main.go:23.15,24.36 1 0
-github.com/number571/go-peer/cmd/hidden_lake/service/cmd/hls/main.go:24.36,25.14 1 0
-github.com/number571/go-peer/cmd/hidden_lake/service/cmd/hls/main.go:29.2,29.12 1 0
github.com/number571/go-peer/cmd/hidden_lake/service/internal/config/config.go:53.68,55.26 2 1
github.com/number571/go-peer/cmd/hidden_lake/service/internal/config/config.go:55.26,57.3 1 1
github.com/number571/go-peer/cmd/hidden_lake/service/internal/config/config.go:59.2,60.42 2 1
@@ -737,22 +729,14 @@ github.com/number571/go-peer/cmd/hidden_lake/service/internal/config/init.go:43.
github.com/number571/go-peer/cmd/hidden_lake/service/internal/config/wrapper.go:12.40,17.2 1 1
github.com/number571/go-peer/cmd/hidden_lake/service/internal/config/wrapper.go:19.40,21.2 1 1
github.com/number571/go-peer/cmd/hidden_lake/service/internal/config/wrapper.go:23.40,25.2 1 1
-github.com/number571/go-peer/cmd/hidden_lake/service/pkg/settings/settings.go:92.64,94.2 1 0
-github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:18.39,22.2 1 0
-github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:24.53,26.63 2 0
-github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:26.63,28.3 1 0
-github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:29.2,29.22 1 0
-github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:32.38,34.2 1 0
-github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:36.39,38.2 1 0
-github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:40.65,42.26 2 0
-github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:42.26,44.3 1 0
-github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:45.2,45.10 1 0
-github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:48.54,51.2 2 0
-github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:53.35,55.2 1 0
-github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:57.49,59.28 2 0
-github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:59.28,61.3 1 0
-github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:62.2,62.16 1 0
-github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:65.38,67.2 1 0
+github.com/number571/go-peer/cmd/hidden_lake/service/cmd/hls/main.go:11.13,13.16 2 0
+github.com/number571/go-peer/cmd/hidden_lake/service/cmd/hls/main.go:13.16,14.13 1 0
+github.com/number571/go-peer/cmd/hidden_lake/service/cmd/hls/main.go:17.2,20.34 3 0
+github.com/number571/go-peer/cmd/hidden_lake/service/cmd/hls/main.go:20.34,21.13 1 0
+github.com/number571/go-peer/cmd/hidden_lake/service/cmd/hls/main.go:23.2,23.15 1 0
+github.com/number571/go-peer/cmd/hidden_lake/service/cmd/hls/main.go:23.15,24.36 1 0
+github.com/number571/go-peer/cmd/hidden_lake/service/cmd/hls/main.go:24.36,25.14 1 0
+github.com/number571/go-peer/cmd/hidden_lake/service/cmd/hls/main.go:29.2,29.12 1 0
github.com/number571/go-peer/cmd/hidden_lake/service/pkg/request/request.go:20.56,26.2 1 1
github.com/number571/go-peer/cmd/hidden_lake/service/pkg/request/request.go:28.55,30.27 2 1
github.com/number571/go-peer/cmd/hidden_lake/service/pkg/request/request.go:31.14,32.58 1 1
@@ -886,6 +870,22 @@ github.com/number571/go-peer/cmd/hidden_lake/service/pkg/client/requester.go:264
github.com/number571/go-peer/cmd/hidden_lake/service/pkg/client/requester.go:268.2,269.19 2 0
github.com/number571/go-peer/cmd/hidden_lake/service/pkg/client/requester.go:269.19,271.3 1 0
github.com/number571/go-peer/cmd/hidden_lake/service/pkg/client/requester.go:273.2,273.20 1 0
+github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:18.39,22.2 1 0
+github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:24.53,26.63 2 0
+github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:26.63,28.3 1 0
+github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:29.2,29.22 1 0
+github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:32.38,34.2 1 0
+github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:36.39,38.2 1 0
+github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:40.65,42.26 2 0
+github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:42.26,44.3 1 0
+github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:45.2,45.10 1 0
+github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:48.54,51.2 2 0
+github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:53.35,55.2 1 0
+github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:57.49,59.28 2 0
+github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:59.28,61.3 1 0
+github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:62.2,62.16 1 0
+github.com/number571/go-peer/cmd/hidden_lake/service/pkg/response/response.go:65.38,67.2 1 0
+github.com/number571/go-peer/cmd/hidden_lake/service/pkg/settings/settings.go:92.64,94.2 1 0
github.com/number571/go-peer/cmd/hidden_lake/traffic/cmd/hlt/main.go:11.13,13.16 2 0
github.com/number571/go-peer/cmd/hidden_lake/traffic/cmd/hlt/main.go:13.16,14.13 1 0
github.com/number571/go-peer/cmd/hidden_lake/traffic/cmd/hlt/main.go:17.2,20.34 3 0
@@ -1034,6 +1034,38 @@ github.com/number571/go-peer/cmd/hidden_lake/traffic/internal/database/wrapper.g
github.com/number571/go-peer/cmd/hidden_lake/traffic/internal/database/wrapper.go:52.2,53.35 2 0
github.com/number571/go-peer/cmd/hidden_lake/traffic/internal/database/wrapper.go:53.35,55.3 1 0
github.com/number571/go-peer/cmd/hidden_lake/traffic/internal/database/wrapper.go:56.2,56.12 1 0
+github.com/number571/go-peer/cmd/micro_anon/keygen/main.go:11.13,13.16 2 0
+github.com/number571/go-peer/cmd/micro_anon/keygen/main.go:13.16,14.13 1 0
+github.com/number571/go-peer/cmd/micro_anon/keygen/main.go:16.2,26.71 4 0
+github.com/number571/go-peer/cmd/tools/storage/main.go:18.13,19.23 1 0
+github.com/number571/go-peer/cmd/tools/storage/main.go:19.23,25.5 1 0
+github.com/number571/go-peer/cmd/tools/storage/main.go:28.2,39.16 4 0
+github.com/number571/go-peer/cmd/tools/storage/main.go:39.16,40.13 1 0
+github.com/number571/go-peer/cmd/tools/storage/main.go:43.2,43.37 1 0
+github.com/number571/go-peer/cmd/tools/storage/main.go:44.13,46.17 2 0
+github.com/number571/go-peer/cmd/tools/storage/main.go:46.17,47.14 1 0
+github.com/number571/go-peer/cmd/tools/storage/main.go:49.3,49.44 1 0
+github.com/number571/go-peer/cmd/tools/storage/main.go:50.13,51.45 1 0
+github.com/number571/go-peer/cmd/tools/storage/main.go:51.45,52.35 1 0
+github.com/number571/go-peer/cmd/tools/storage/main.go:54.3,55.17 2 0
+github.com/number571/go-peer/cmd/tools/storage/main.go:55.17,56.14 1 0
+github.com/number571/go-peer/cmd/tools/storage/main.go:58.3,58.20 1 0
+github.com/number571/go-peer/cmd/tools/storage/main.go:59.13,61.17 2 0
+github.com/number571/go-peer/cmd/tools/storage/main.go:61.17,62.14 1 0
+github.com/number571/go-peer/cmd/tools/storage/main.go:64.3,64.20 1 0
+github.com/number571/go-peer/cmd/tools/storage/main.go:65.10,66.46 1 0
+github.com/number571/go-peer/cmd/tools/storage/main.go:70.32,74.16 4 0
+github.com/number571/go-peer/cmd/tools/storage/main.go:74.16,75.13 1 0
+github.com/number571/go-peer/cmd/tools/storage/main.go:77.2,77.13 1 0
+github.com/number571/go-peer/cmd/tools/storage/main.go:80.36,83.16 3 0
+github.com/number571/go-peer/cmd/tools/storage/main.go:83.16,84.13 1 0
+github.com/number571/go-peer/cmd/tools/storage/main.go:86.2,86.12 1 0
+github.com/number571/go-peer/cmd/tools/pmanager/main.go:17.13,18.23 1 0
+github.com/number571/go-peer/cmd/tools/pmanager/main.go:18.23,23.5 1 0
+github.com/number571/go-peer/cmd/tools/pmanager/main.go:26.2,35.59 5 0
+github.com/number571/go-peer/cmd/tools/pmanager/main.go:38.41,41.16 3 0
+github.com/number571/go-peer/cmd/tools/pmanager/main.go:41.16,42.13 1 0
+github.com/number571/go-peer/cmd/tools/pmanager/main.go:44.2,44.20 1 0
github.com/number571/go-peer/cmd/hidden_lake/traffic/pkg/client/builder.go:12.28,14.2 1 0
github.com/number571/go-peer/cmd/hidden_lake/traffic/pkg/client/builder.go:16.65,18.2 1 0
github.com/number571/go-peer/cmd/hidden_lake/traffic/pkg/client/client.go:17.66,22.2 1 0
@@ -1070,6 +1102,39 @@ github.com/number571/go-peer/cmd/hidden_lake/traffic/pkg/client/requester.go:90.
github.com/number571/go-peer/cmd/hidden_lake/traffic/pkg/client/requester.go:93.56,100.16 2 0
github.com/number571/go-peer/cmd/hidden_lake/traffic/pkg/client/requester.go:100.16,102.3 1 0
github.com/number571/go-peer/cmd/hidden_lake/traffic/pkg/client/requester.go:103.2,103.12 1 0
+github.com/number571/go-peer/cmd/tools/keygen/main.go:12.13,13.23 1 0
+github.com/number571/go-peer/cmd/tools/keygen/main.go:13.23,17.5 1 0
+github.com/number571/go-peer/cmd/tools/keygen/main.go:20.2,21.16 2 0
+github.com/number571/go-peer/cmd/tools/keygen/main.go:21.16,22.13 1 0
+github.com/number571/go-peer/cmd/tools/keygen/main.go:25.2,25.17 1 0
+github.com/number571/go-peer/cmd/tools/keygen/main.go:25.17,26.32 1 0
+github.com/number571/go-peer/cmd/tools/keygen/main.go:29.2,30.17 2 0
+github.com/number571/go-peer/cmd/tools/keygen/main.go:30.17,31.30 1 0
+github.com/number571/go-peer/cmd/tools/keygen/main.go:34.2,35.76 2 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:18.13,19.23 1 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:19.23,24.5 1 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:27.2,35.16 3 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:35.16,36.13 1 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:39.2,39.13 1 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:40.11,42.20 2 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:42.20,43.33 1 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:45.3,45.17 1 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:46.11,48.21 2 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:48.21,49.34 1 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:51.3,51.18 1 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:54.2,59.13 3 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:60.11,63.17 3 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:63.17,64.14 1 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:66.3,66.37 1 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:67.11,70.17 3 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:70.17,71.14 1 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:73.3,74.17 2 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:74.17,75.14 1 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:77.3,77.53 1 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:81.28,83.16 2 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:83.16,84.13 1 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:86.2,86.12 1 0
+github.com/number571/go-peer/cmd/tools/encryptor/main.go:89.71,92.2 2 0
github.com/number571/go-peer/cmd/micro_anon/main.go:38.16,39.23 1 0
github.com/number571/go-peer/cmd/micro_anon/main.go:39.23,40.54 1 0
github.com/number571/go-peer/cmd/micro_anon/main.go:43.2,46.29 4 0
@@ -1138,31 +1203,6 @@ github.com/number571/go-peer/cmd/micro_anon/main.go:207.16,208.13 1 0
github.com/number571/go-peer/cmd/micro_anon/main.go:210.2,211.21 2 0
github.com/number571/go-peer/cmd/micro_anon/main.go:211.21,213.3 1 0
github.com/number571/go-peer/cmd/micro_anon/main.go:214.2,214.12 1 0
-github.com/number571/go-peer/cmd/micro_anon/keygen/main.go:11.13,13.16 2 0
-github.com/number571/go-peer/cmd/micro_anon/keygen/main.go:13.16,14.13 1 0
-github.com/number571/go-peer/cmd/micro_anon/keygen/main.go:16.2,26.71 4 0
-github.com/number571/go-peer/cmd/tools/encryptor/main.go:22.13,23.23 1 0
-github.com/number571/go-peer/cmd/tools/encryptor/main.go:23.23,28.5 1 0
-github.com/number571/go-peer/cmd/tools/encryptor/main.go:31.2,39.16 3 0
-github.com/number571/go-peer/cmd/tools/encryptor/main.go:39.16,40.13 1 0
-github.com/number571/go-peer/cmd/tools/encryptor/main.go:43.2,43.13 1 0
-github.com/number571/go-peer/cmd/tools/encryptor/main.go:44.11,46.20 2 0
-github.com/number571/go-peer/cmd/tools/encryptor/main.go:46.20,47.33 1 0
-github.com/number571/go-peer/cmd/tools/encryptor/main.go:49.3,49.17 1 0
-github.com/number571/go-peer/cmd/tools/encryptor/main.go:50.11,52.21 2 0
-github.com/number571/go-peer/cmd/tools/encryptor/main.go:52.21,53.34 1 0
-github.com/number571/go-peer/cmd/tools/encryptor/main.go:55.3,55.18 1 0
-github.com/number571/go-peer/cmd/tools/encryptor/main.go:58.2,64.13 3 0
-github.com/number571/go-peer/cmd/tools/encryptor/main.go:65.11,68.17 3 0
-github.com/number571/go-peer/cmd/tools/encryptor/main.go:68.17,69.14 1 0
-github.com/number571/go-peer/cmd/tools/encryptor/main.go:71.3,71.37 1 0
-github.com/number571/go-peer/cmd/tools/encryptor/main.go:72.11,75.17 3 0
-github.com/number571/go-peer/cmd/tools/encryptor/main.go:75.17,76.14 1 0
-github.com/number571/go-peer/cmd/tools/encryptor/main.go:78.3,78.53 1 0
-github.com/number571/go-peer/cmd/tools/encryptor/main.go:82.28,84.16 2 0
-github.com/number571/go-peer/cmd/tools/encryptor/main.go:84.16,85.13 1 0
-github.com/number571/go-peer/cmd/tools/encryptor/main.go:87.2,87.12 1 0
-github.com/number571/go-peer/cmd/tools/encryptor/main.go:90.71,93.2 2 0
github.com/number571/go-peer/cmd/hidden_lake/traffic/internal/handler/hashes.go:14.95,15.56 1 1
github.com/number571/go-peer/cmd/hidden_lake/traffic/internal/handler/hashes.go:15.56,18.34 2 1
github.com/number571/go-peer/cmd/hidden_lake/traffic/internal/handler/hashes.go:18.34,22.4 3 0
@@ -1210,44 +1250,6 @@ github.com/number571/go-peer/cmd/hidden_lake/traffic/internal/handler/service_tc
github.com/number571/go-peer/cmd/hidden_lake/traffic/internal/handler/service_tcp.go:79.45,86.18 2 0
github.com/number571/go-peer/cmd/hidden_lake/traffic/internal/handler/service_tcp.go:86.18,88.13 2 0
github.com/number571/go-peer/cmd/hidden_lake/traffic/internal/handler/service_tcp.go:92.3,93.13 2 1
-github.com/number571/go-peer/cmd/tools/storage/main.go:18.13,19.23 1 0
-github.com/number571/go-peer/cmd/tools/storage/main.go:19.23,25.5 1 0
-github.com/number571/go-peer/cmd/tools/storage/main.go:28.2,39.16 4 0
-github.com/number571/go-peer/cmd/tools/storage/main.go:39.16,40.13 1 0
-github.com/number571/go-peer/cmd/tools/storage/main.go:43.2,43.37 1 0
-github.com/number571/go-peer/cmd/tools/storage/main.go:44.13,46.17 2 0
-github.com/number571/go-peer/cmd/tools/storage/main.go:46.17,47.14 1 0
-github.com/number571/go-peer/cmd/tools/storage/main.go:49.3,49.44 1 0
-github.com/number571/go-peer/cmd/tools/storage/main.go:50.13,51.45 1 0
-github.com/number571/go-peer/cmd/tools/storage/main.go:51.45,52.35 1 0
-github.com/number571/go-peer/cmd/tools/storage/main.go:54.3,55.17 2 0
-github.com/number571/go-peer/cmd/tools/storage/main.go:55.17,56.14 1 0
-github.com/number571/go-peer/cmd/tools/storage/main.go:58.3,58.20 1 0
-github.com/number571/go-peer/cmd/tools/storage/main.go:59.13,61.17 2 0
-github.com/number571/go-peer/cmd/tools/storage/main.go:61.17,62.14 1 0
-github.com/number571/go-peer/cmd/tools/storage/main.go:64.3,64.20 1 0
-github.com/number571/go-peer/cmd/tools/storage/main.go:65.10,66.46 1 0
-github.com/number571/go-peer/cmd/tools/storage/main.go:70.32,74.16 4 0
-github.com/number571/go-peer/cmd/tools/storage/main.go:74.16,75.13 1 0
-github.com/number571/go-peer/cmd/tools/storage/main.go:77.2,77.13 1 0
-github.com/number571/go-peer/cmd/tools/storage/main.go:80.36,83.16 3 0
-github.com/number571/go-peer/cmd/tools/storage/main.go:83.16,84.13 1 0
-github.com/number571/go-peer/cmd/tools/storage/main.go:86.2,86.12 1 0
-github.com/number571/go-peer/cmd/tools/keygen/main.go:12.13,13.23 1 0
-github.com/number571/go-peer/cmd/tools/keygen/main.go:13.23,17.5 1 0
-github.com/number571/go-peer/cmd/tools/keygen/main.go:20.2,21.16 2 0
-github.com/number571/go-peer/cmd/tools/keygen/main.go:21.16,22.13 1 0
-github.com/number571/go-peer/cmd/tools/keygen/main.go:25.2,25.17 1 0
-github.com/number571/go-peer/cmd/tools/keygen/main.go:25.17,26.32 1 0
-github.com/number571/go-peer/cmd/tools/keygen/main.go:29.2,30.17 2 0
-github.com/number571/go-peer/cmd/tools/keygen/main.go:30.17,31.30 1 0
-github.com/number571/go-peer/cmd/tools/keygen/main.go:34.2,35.76 2 0
-github.com/number571/go-peer/cmd/tools/pmanager/main.go:17.13,18.23 1 0
-github.com/number571/go-peer/cmd/tools/pmanager/main.go:18.23,23.5 1 0
-github.com/number571/go-peer/cmd/tools/pmanager/main.go:26.2,35.59 5 0
-github.com/number571/go-peer/cmd/tools/pmanager/main.go:38.41,41.16 3 0
-github.com/number571/go-peer/cmd/tools/pmanager/main.go:41.16,42.13 1 0
-github.com/number571/go-peer/cmd/tools/pmanager/main.go:44.2,44.20 1 0
github.com/number571/go-peer/examples/echo_service/prod_test/gen_cfgs/main.go:26.22,27.23 1 0
github.com/number571/go-peer/examples/echo_service/prod_test/gen_cfgs/main.go:27.23,29.3 1 0
github.com/number571/go-peer/examples/echo_service/prod_test/gen_cfgs/main.go:31.2,31.20 1 0
@@ -1276,13 +1278,6 @@ github.com/number571/go-peer/examples/echo_service/default/recv_hls/service/main
github.com/number571/go-peer/examples/echo_service/default/recv_hls/service/main.go:25.16,28.3 2 0
github.com/number571/go-peer/examples/echo_service/default/recv_hls/service/main.go:29.2,29.29 1 0
github.com/number571/go-peer/examples/echo_service/default/recv_hls/service/main.go:32.59,38.2 2 0
-github.com/number571/go-peer/examples/echo_service/prod_test/recv_hls/service/main.go:14.13,17.2 2 0
-github.com/number571/go-peer/examples/echo_service/prod_test/recv_hls/service/main.go:19.55,20.33 1 0
-github.com/number571/go-peer/examples/echo_service/prod_test/recv_hls/service/main.go:20.33,23.3 2 0
-github.com/number571/go-peer/examples/echo_service/prod_test/recv_hls/service/main.go:24.2,25.16 2 0
-github.com/number571/go-peer/examples/echo_service/prod_test/recv_hls/service/main.go:25.16,28.3 2 0
-github.com/number571/go-peer/examples/echo_service/prod_test/recv_hls/service/main.go:29.2,29.29 1 0
-github.com/number571/go-peer/examples/echo_service/prod_test/recv_hls/service/main.go:32.59,38.2 2 0
github.com/number571/go-peer/examples/echo_service/routing/recv_hls/service/main.go:14.13,17.2 2 0
github.com/number571/go-peer/examples/echo_service/routing/recv_hls/service/main.go:19.55,20.33 1 0
github.com/number571/go-peer/examples/echo_service/routing/recv_hls/service/main.go:20.33,23.3 2 0
@@ -1297,38 +1292,45 @@ github.com/number571/go-peer/examples/echo_service/secret_channel/recv_hls/servi
github.com/number571/go-peer/examples/echo_service/secret_channel/recv_hls/service/main.go:25.16,28.3 2 0
github.com/number571/go-peer/examples/echo_service/secret_channel/recv_hls/service/main.go:29.2,29.29 1 0
github.com/number571/go-peer/examples/echo_service/secret_channel/recv_hls/service/main.go:32.59,38.2 2 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:28.13,40.16 4 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:40.16,41.13 1 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:44.2,47.22 3 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:47.22,48.27 1 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:51.2,54.23 3 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:54.23,57.21 3 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:57.21,58.28 1 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:62.2,71.17 2 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:72.20,73.21 1 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:73.21,74.32 1 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:77.3,81.17 2 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:81.17,82.14 1 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:85.3,90.54 2 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:90.54,91.14 1 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:94.3,94.39 1 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:95.19,96.21 1 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:96.21,97.31 1 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:100.3,101.17 2 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:101.17,102.14 1 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:105.3,106.17 2 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:106.17,107.32 1 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:110.3,111.17 2 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:111.17,112.14 1 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:115.3,115.32 1 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:115.32,116.42 1 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:119.3,119.83 1 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:119.83,120.36 1 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:123.3,123.37 1 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:124.21,126.17 2 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:126.17,127.14 1 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:130.3,130.31 1 0
-github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:130.31,132.4 1 0
+github.com/number571/go-peer/examples/echo_service/prod_test/recv_hls/service/main.go:14.13,17.2 2 0
+github.com/number571/go-peer/examples/echo_service/prod_test/recv_hls/service/main.go:19.55,20.33 1 0
+github.com/number571/go-peer/examples/echo_service/prod_test/recv_hls/service/main.go:20.33,23.3 2 0
+github.com/number571/go-peer/examples/echo_service/prod_test/recv_hls/service/main.go:24.2,25.16 2 0
+github.com/number571/go-peer/examples/echo_service/prod_test/recv_hls/service/main.go:25.16,28.3 2 0
+github.com/number571/go-peer/examples/echo_service/prod_test/recv_hls/service/main.go:29.2,29.29 1 0
+github.com/number571/go-peer/examples/echo_service/prod_test/recv_hls/service/main.go:32.59,38.2 2 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:28.13,39.16 4 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:39.16,40.13 1 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:43.2,46.22 3 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:46.22,47.27 1 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:50.2,53.23 3 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:53.23,56.21 3 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:56.21,57.28 1 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:61.2,70.17 2 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:71.20,72.21 1 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:72.21,73.32 1 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:76.3,80.17 2 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:80.17,81.14 1 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:84.3,89.54 2 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:89.54,90.14 1 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:93.3,93.39 1 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:94.19,95.21 1 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:95.21,96.31 1 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:99.3,100.17 2 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:100.17,101.14 1 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:104.3,105.17 2 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:105.17,106.32 1 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:109.3,110.17 2 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:110.17,111.14 1 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:114.3,114.32 1 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:114.32,115.42 1 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:118.3,118.83 1 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:118.83,119.36 1 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:122.3,122.37 1 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:123.21,125.17 2 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:125.17,126.14 1 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:129.3,129.31 1 0
+github.com/number571/go-peer/examples/traffic_keeper/client_hlt/main.go:129.31,131.4 1 0
github.com/number571/go-peer/internal/interrupt/closer.go:9.47,11.29 2 1
github.com/number571/go-peer/internal/interrupt/closer.go:11.29,13.3 1 1
github.com/number571/go-peer/internal/interrupt/closer.go:14.2,14.12 1 1
@@ -1347,6 +1349,77 @@ github.com/number571/go-peer/internal/flag/flag.go:27.3,27.40 1 1
github.com/number571/go-peer/internal/flag/flag.go:29.2,29.17 1 1
github.com/number571/go-peer/internal/flag/flag.go:29.17,30.47 1 1
github.com/number571/go-peer/internal/flag/flag.go:32.2,32.17 1 1
+github.com/number571/go-peer/internal/api/request.go:13.93,19.27 2 1
+github.com/number571/go-peer/internal/api/request.go:20.14,22.15 2 1
+github.com/number571/go-peer/internal/api/request.go:23.14,25.23 2 1
+github.com/number571/go-peer/internal/api/request.go:26.10,28.42 2 1
+github.com/number571/go-peer/internal/api/request.go:31.2,36.16 2 1
+github.com/number571/go-peer/internal/api/request.go:36.16,38.3 1 0
+github.com/number571/go-peer/internal/api/request.go:40.2,42.16 3 1
+github.com/number571/go-peer/internal/api/request.go:42.16,44.3 1 1
+github.com/number571/go-peer/internal/api/request.go:46.2,49.16 3 1
+github.com/number571/go-peer/internal/api/request.go:49.16,51.3 1 1
+github.com/number571/go-peer/internal/api/request.go:53.2,53.20 1 1
+github.com/number571/go-peer/internal/api/request.go:56.75,58.16 2 1
+github.com/number571/go-peer/internal/api/request.go:58.16,60.3 1 0
+github.com/number571/go-peer/internal/api/request.go:62.2,62.34 1 1
+github.com/number571/go-peer/internal/api/request.go:62.34,64.3 1 1
+github.com/number571/go-peer/internal/api/request.go:66.2,66.18 1 1
+github.com/number571/go-peer/internal/api/response.go:11.67,17.26 2 1
+github.com/number571/go-peer/internal/api/response.go:18.14,20.16 2 1
+github.com/number571/go-peer/internal/api/response.go:21.14,23.24 2 1
+github.com/number571/go-peer/internal/api/response.go:24.10,26.43 2 1
+github.com/number571/go-peer/internal/api/response.go:29.2,31.41 3 1
+github.com/number571/go-peer/internal/logger/std/log_func.go:7.35,8.45 1 1
+github.com/number571/go-peer/internal/logger/std/log_func.go:8.45,10.10 2 1
+github.com/number571/go-peer/internal/logger/std/log_func.go:10.10,11.32 1 1
+github.com/number571/go-peer/internal/logger/std/log_func.go:14.3,14.13 1 1
+github.com/number571/go-peer/internal/logger/std/std_logger.go:15.79,20.2 1 1
+github.com/number571/go-peer/internal/logger/std/std_logger.go:22.54,24.24 2 1
+github.com/number571/go-peer/internal/logger/std/std_logger.go:24.24,26.3 1 1
+github.com/number571/go-peer/internal/logger/std/std_logger.go:27.2,27.24 1 1
+github.com/number571/go-peer/internal/logger/std/std_logger.go:27.24,29.3 1 1
+github.com/number571/go-peer/internal/logger/std/std_logger.go:30.2,30.24 1 1
+github.com/number571/go-peer/internal/logger/std/std_logger.go:30.24,32.3 1 1
+github.com/number571/go-peer/internal/logger/std/std_logger.go:33.2,33.33 1 1
+github.com/number571/go-peer/internal/msgconv/msgconv.go:12.44,14.23 2 1
+github.com/number571/go-peer/internal/msgconv/msgconv.go:14.23,16.3 1 1
+github.com/number571/go-peer/internal/msgconv/msgconv.go:17.2,18.21 2 1
+github.com/number571/go-peer/internal/msgconv/msgconv.go:18.21,20.3 1 0
+github.com/number571/go-peer/internal/msgconv/msgconv.go:21.2,27.3 1 1
+github.com/number571/go-peer/internal/msgconv/msgconv.go:30.44,32.22 2 1
+github.com/number571/go-peer/internal/msgconv/msgconv.go:32.22,34.3 1 1
+github.com/number571/go-peer/internal/msgconv/msgconv.go:35.2,42.3 2 1
+github.com/number571/go-peer/internal/msgconv/msgconv.go:45.45,46.48 1 1
+github.com/number571/go-peer/internal/msgconv/msgconv.go:46.48,48.3 1 1
+github.com/number571/go-peer/internal/logger/http/log_builder.go:16.67,25.2 3 1
+github.com/number571/go-peer/internal/logger/http/log_builder.go:27.40,29.2 1 1
+github.com/number571/go-peer/internal/logger/http/log_builder.go:31.60,34.2 2 1
+github.com/number571/go-peer/internal/logger/http/log_func.go:13.35,14.45 1 1
+github.com/number571/go-peer/internal/logger/http/log_func.go:14.45,16.10 2 1
+github.com/number571/go-peer/internal/logger/http/log_func.go:16.10,17.32 1 1
+github.com/number571/go-peer/internal/logger/http/log_func.go:20.3,28.4 2 1
+github.com/number571/go-peer/internal/logger/http/log_getter.go:7.57,11.2 1 1
+github.com/number571/go-peer/internal/logger/http/log_getter.go:13.42,15.2 1 1
+github.com/number571/go-peer/internal/logger/http/log_getter.go:17.39,19.2 1 1
+github.com/number571/go-peer/internal/logger/http/log_getter.go:21.41,23.2 1 1
+github.com/number571/go-peer/internal/logger/http/log_getter.go:25.39,27.2 1 1
+github.com/number571/go-peer/internal/logger/http/log_getter.go:29.42,31.2 1 1
+github.com/number571/go-peer/internal/logger/anon/log_func.go:16.35,17.45 1 1
+github.com/number571/go-peer/internal/logger/anon/log_func.go:17.45,19.10 2 1
+github.com/number571/go-peer/internal/logger/anon/log_func.go:19.10,20.32 1 1
+github.com/number571/go-peer/internal/logger/anon/log_func.go:23.3,25.19 3 1
+github.com/number571/go-peer/internal/logger/anon/log_func.go:25.19,26.33 1 1
+github.com/number571/go-peer/internal/logger/anon/log_func.go:29.3,30.10 2 1
+github.com/number571/go-peer/internal/logger/anon/log_func.go:30.10,31.39 1 1
+github.com/number571/go-peer/internal/logger/anon/log_func.go:34.3,34.39 1 1
+github.com/number571/go-peer/internal/logger/anon/log_func.go:38.74,40.41 2 1
+github.com/number571/go-peer/internal/logger/anon/log_func.go:40.41,42.3 1 0
+github.com/number571/go-peer/internal/logger/anon/log_func.go:44.2,45.43 2 1
+github.com/number571/go-peer/internal/logger/anon/log_func.go:45.43,47.3 1 1
+github.com/number571/go-peer/internal/logger/anon/log_func.go:49.2,50.41 2 1
+github.com/number571/go-peer/internal/logger/anon/log_func.go:50.41,52.3 1 1
+github.com/number571/go-peer/internal/logger/anon/log_func.go:54.2,63.3 1 1
github.com/number571/go-peer/cmd/hidden_lake/service/internal/handler/config_connects.go:17.120,18.56 1 1
github.com/number571/go-peer/cmd/hidden_lake/service/internal/handler/config_connects.go:18.56,21.100 2 1
github.com/number571/go-peer/cmd/hidden_lake/service/internal/handler/config_connects.go:21.100,25.4 3 0
@@ -1467,77 +1540,6 @@ github.com/number571/go-peer/cmd/hidden_lake/service/internal/handler/service_tc
github.com/number571/go-peer/cmd/hidden_lake/service/internal/handler/service_tcp.go:107.43,109.16 2 1
github.com/number571/go-peer/cmd/hidden_lake/service/internal/handler/service_tcp.go:109.16,111.3 1 0
github.com/number571/go-peer/cmd/hidden_lake/service/internal/handler/service_tcp.go:112.2,112.13 1 1
-github.com/number571/go-peer/internal/logger/anon/log_func.go:16.35,17.45 1 1
-github.com/number571/go-peer/internal/logger/anon/log_func.go:17.45,19.10 2 1
-github.com/number571/go-peer/internal/logger/anon/log_func.go:19.10,20.32 1 1
-github.com/number571/go-peer/internal/logger/anon/log_func.go:23.3,25.19 3 1
-github.com/number571/go-peer/internal/logger/anon/log_func.go:25.19,26.33 1 1
-github.com/number571/go-peer/internal/logger/anon/log_func.go:29.3,30.10 2 1
-github.com/number571/go-peer/internal/logger/anon/log_func.go:30.10,31.39 1 1
-github.com/number571/go-peer/internal/logger/anon/log_func.go:34.3,34.39 1 1
-github.com/number571/go-peer/internal/logger/anon/log_func.go:38.74,40.41 2 1
-github.com/number571/go-peer/internal/logger/anon/log_func.go:40.41,42.3 1 0
-github.com/number571/go-peer/internal/logger/anon/log_func.go:44.2,45.43 2 1
-github.com/number571/go-peer/internal/logger/anon/log_func.go:45.43,47.3 1 1
-github.com/number571/go-peer/internal/logger/anon/log_func.go:49.2,50.41 2 1
-github.com/number571/go-peer/internal/logger/anon/log_func.go:50.41,52.3 1 1
-github.com/number571/go-peer/internal/logger/anon/log_func.go:54.2,63.3 1 1
-github.com/number571/go-peer/internal/api/request.go:13.93,19.27 2 1
-github.com/number571/go-peer/internal/api/request.go:20.14,22.15 2 1
-github.com/number571/go-peer/internal/api/request.go:23.14,25.23 2 1
-github.com/number571/go-peer/internal/api/request.go:26.10,28.42 2 1
-github.com/number571/go-peer/internal/api/request.go:31.2,36.16 2 1
-github.com/number571/go-peer/internal/api/request.go:36.16,38.3 1 0
-github.com/number571/go-peer/internal/api/request.go:40.2,42.16 3 1
-github.com/number571/go-peer/internal/api/request.go:42.16,44.3 1 1
-github.com/number571/go-peer/internal/api/request.go:46.2,49.16 3 1
-github.com/number571/go-peer/internal/api/request.go:49.16,51.3 1 1
-github.com/number571/go-peer/internal/api/request.go:53.2,53.20 1 1
-github.com/number571/go-peer/internal/api/request.go:56.75,58.16 2 1
-github.com/number571/go-peer/internal/api/request.go:58.16,60.3 1 0
-github.com/number571/go-peer/internal/api/request.go:62.2,62.34 1 1
-github.com/number571/go-peer/internal/api/request.go:62.34,64.3 1 1
-github.com/number571/go-peer/internal/api/request.go:66.2,66.18 1 1
-github.com/number571/go-peer/internal/api/response.go:11.67,17.26 2 1
-github.com/number571/go-peer/internal/api/response.go:18.14,20.16 2 1
-github.com/number571/go-peer/internal/api/response.go:21.14,23.24 2 1
-github.com/number571/go-peer/internal/api/response.go:24.10,26.43 2 1
-github.com/number571/go-peer/internal/api/response.go:29.2,31.41 3 1
-github.com/number571/go-peer/internal/logger/std/log_func.go:7.35,8.45 1 1
-github.com/number571/go-peer/internal/logger/std/log_func.go:8.45,10.10 2 1
-github.com/number571/go-peer/internal/logger/std/log_func.go:10.10,11.32 1 1
-github.com/number571/go-peer/internal/logger/std/log_func.go:14.3,14.13 1 1
-github.com/number571/go-peer/internal/logger/std/std_logger.go:15.79,20.2 1 1
-github.com/number571/go-peer/internal/logger/std/std_logger.go:22.54,24.24 2 1
-github.com/number571/go-peer/internal/logger/std/std_logger.go:24.24,26.3 1 1
-github.com/number571/go-peer/internal/logger/std/std_logger.go:27.2,27.24 1 1
-github.com/number571/go-peer/internal/logger/std/std_logger.go:27.24,29.3 1 1
-github.com/number571/go-peer/internal/logger/std/std_logger.go:30.2,30.24 1 1
-github.com/number571/go-peer/internal/logger/std/std_logger.go:30.24,32.3 1 1
-github.com/number571/go-peer/internal/logger/std/std_logger.go:33.2,33.33 1 1
-github.com/number571/go-peer/internal/msgconv/msgconv.go:12.44,14.23 2 1
-github.com/number571/go-peer/internal/msgconv/msgconv.go:14.23,16.3 1 1
-github.com/number571/go-peer/internal/msgconv/msgconv.go:17.2,18.21 2 1
-github.com/number571/go-peer/internal/msgconv/msgconv.go:18.21,20.3 1 1
-github.com/number571/go-peer/internal/msgconv/msgconv.go:21.2,27.3 1 1
-github.com/number571/go-peer/internal/msgconv/msgconv.go:30.44,32.22 2 1
-github.com/number571/go-peer/internal/msgconv/msgconv.go:32.22,34.3 1 1
-github.com/number571/go-peer/internal/msgconv/msgconv.go:35.2,42.3 2 1
-github.com/number571/go-peer/internal/msgconv/msgconv.go:45.45,46.48 1 1
-github.com/number571/go-peer/internal/msgconv/msgconv.go:46.48,48.3 1 1
-github.com/number571/go-peer/internal/logger/http/log_builder.go:16.67,25.2 3 1
-github.com/number571/go-peer/internal/logger/http/log_builder.go:27.40,29.2 1 1
-github.com/number571/go-peer/internal/logger/http/log_builder.go:31.60,34.2 2 1
-github.com/number571/go-peer/internal/logger/http/log_func.go:13.35,14.45 1 1
-github.com/number571/go-peer/internal/logger/http/log_func.go:14.45,16.10 2 1
-github.com/number571/go-peer/internal/logger/http/log_func.go:16.10,17.32 1 1
-github.com/number571/go-peer/internal/logger/http/log_func.go:20.3,28.4 2 1
-github.com/number571/go-peer/internal/logger/http/log_getter.go:7.57,11.2 1 1
-github.com/number571/go-peer/internal/logger/http/log_getter.go:13.42,15.2 1 1
-github.com/number571/go-peer/internal/logger/http/log_getter.go:17.39,19.2 1 1
-github.com/number571/go-peer/internal/logger/http/log_getter.go:21.41,23.2 1 1
-github.com/number571/go-peer/internal/logger/http/log_getter.go:25.39,27.2 1 1
-github.com/number571/go-peer/internal/logger/http/log_getter.go:29.42,31.2 1 1
github.com/number571/go-peer/internal/slices/slices.go:3.63,4.30 1 1
github.com/number571/go-peer/internal/slices/slices.go:4.30,6.3 1 1
github.com/number571/go-peer/internal/slices/slices.go:7.2,7.29 1 1
@@ -1556,104 +1558,97 @@ github.com/number571/go-peer/pkg/client/examples/main.go:22.16,23.13 1 0
github.com/number571/go-peer/pkg/client/examples/main.go:26.2,27.16 2 0
github.com/number571/go-peer/pkg/client/examples/main.go:27.16,28.13 1 0
github.com/number571/go-peer/pkg/client/examples/main.go:31.2,32.57 2 0
-github.com/number571/go-peer/pkg/client/examples/main.go:35.33,43.2 1 0
-github.com/number571/go-peer/pkg/client/message/message.go:49.62,53.26 3 1
-github.com/number571/go-peer/pkg/client/message/message.go:54.14,55.14 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:56.14,57.22 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:58.10,59.13 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:62.2,63.13 2 1
-github.com/number571/go-peer/pkg/client/message/message.go:63.13,65.3 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:67.2,67.57 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:67.57,69.3 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:71.2,71.26 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:72.14,73.37 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:74.14,77.26 3 1
-github.com/number571/go-peer/pkg/client/message/message.go:77.26,79.4 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:80.10,81.28 1 0
-github.com/number571/go-peer/pkg/client/message/message.go:84.2,84.25 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:84.25,86.3 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:88.2,88.12 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:91.36,93.2 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:95.36,97.2 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:99.37,107.2 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:109.38,117.2 1 0
-github.com/number571/go-peer/pkg/client/message/message.go:119.50,120.61 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:120.61,122.3 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:123.2,123.55 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:123.55,125.3 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:126.2,127.74 2 1
-github.com/number571/go-peer/pkg/client/message/message.go:130.50,132.2 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:136.42,138.2 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:140.43,142.2 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:144.40,146.2 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:150.40,152.2 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:154.40,156.2 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:158.41,160.41 2 1
-github.com/number571/go-peer/pkg/client/message/message.go:160.41,162.3 1 1
-github.com/number571/go-peer/pkg/client/message/message.go:163.2,165.36 3 1
-github.com/number571/go-peer/pkg/client/message/settings.go:13.46,18.2 1 1
-github.com/number571/go-peer/pkg/client/message/settings.go:20.45,21.30 1 1
-github.com/number571/go-peer/pkg/client/message/settings.go:21.30,22.36 1 1
-github.com/number571/go-peer/pkg/client/message/settings.go:24.2,24.10 1 1
-github.com/number571/go-peer/pkg/client/message/settings.go:27.46,29.2 1 1
-github.com/number571/go-peer/pkg/client/message/settings.go:31.50,33.2 1 1
-github.com/number571/go-peer/pkg/client/client.go:31.79,45.51 4 1
-github.com/number571/go-peer/pkg/client/client.go:45.51,46.54 1 1
-github.com/number571/go-peer/pkg/client/client.go:49.2,49.15 1 1
-github.com/number571/go-peer/pkg/client/client.go:53.44,55.33 2 1
-github.com/number571/go-peer/pkg/client/client.go:55.33,57.3 1 1
-github.com/number571/go-peer/pkg/client/client.go:58.2,58.35 1 1
-github.com/number571/go-peer/pkg/client/client.go:62.50,64.2 1 1
-github.com/number571/go-peer/pkg/client/client.go:67.52,69.2 1 1
-github.com/number571/go-peer/pkg/client/client.go:72.51,74.2 1 1
-github.com/number571/go-peer/pkg/client/client.go:78.109,84.31 2 1
-github.com/number571/go-peer/pkg/client/client.go:84.31,90.3 1 1
-github.com/number571/go-peer/pkg/client/client.go:92.2,97.8 1 1
-github.com/number571/go-peer/pkg/client/client.go:100.128,145.2 7 1
-github.com/number571/go-peer/pkg/client/client.go:149.103,151.47 1 1
-github.com/number571/go-peer/pkg/client/client.go:151.47,153.3 1 1
-github.com/number571/go-peer/pkg/client/client.go:156.2,157.20 2 1
-github.com/number571/go-peer/pkg/client/client.go:157.20,159.3 1 0
-github.com/number571/go-peer/pkg/client/client.go:162.2,164.24 3 1
-github.com/number571/go-peer/pkg/client/client.go:164.24,166.3 1 0
-github.com/number571/go-peer/pkg/client/client.go:169.2,170.19 2 1
-github.com/number571/go-peer/pkg/client/client.go:170.19,172.3 1 0
-github.com/number571/go-peer/pkg/client/client.go:173.2,173.49 1 1
-github.com/number571/go-peer/pkg/client/client.go:173.49,175.3 1 0
-github.com/number571/go-peer/pkg/client/client.go:178.2,179.25 2 1
-github.com/number571/go-peer/pkg/client/client.go:179.25,181.3 1 0
-github.com/number571/go-peer/pkg/client/client.go:182.2,183.31 2 1
-github.com/number571/go-peer/pkg/client/client.go:183.31,185.3 1 0
-github.com/number571/go-peer/pkg/client/client.go:186.2,187.26 2 1
-github.com/number571/go-peer/pkg/client/client.go:187.26,189.3 1 0
-github.com/number571/go-peer/pkg/client/client.go:192.2,193.17 2 1
-github.com/number571/go-peer/pkg/client/client.go:193.17,195.3 1 0
-github.com/number571/go-peer/pkg/client/client.go:198.2,206.51 2 1
-github.com/number571/go-peer/pkg/client/client.go:206.51,208.3 1 0
-github.com/number571/go-peer/pkg/client/client.go:212.2,213.17 2 1
-github.com/number571/go-peer/pkg/client/client.go:213.17,215.3 1 0
-github.com/number571/go-peer/pkg/client/client.go:216.2,216.57 1 1
-github.com/number571/go-peer/pkg/client/client.go:216.57,218.3 1 1
-github.com/number571/go-peer/pkg/client/client.go:221.2,222.52 2 1
-github.com/number571/go-peer/pkg/client/client.go:222.52,224.3 1 0
-github.com/number571/go-peer/pkg/client/client.go:225.2,226.16 2 1
-github.com/number571/go-peer/pkg/client/client.go:226.16,228.3 1 0
-github.com/number571/go-peer/pkg/client/client.go:231.2,231.25 1 1
-github.com/number571/go-peer/pkg/client/queue/examples/main.go:18.13,34.32 2 0
-github.com/number571/go-peer/pkg/client/queue/examples/main.go:34.32,35.13 1 0
-github.com/number571/go-peer/pkg/client/queue/examples/main.go:38.2,38.25 1 0
-github.com/number571/go-peer/pkg/client/queue/examples/main.go:38.25,43.17 2 0
-github.com/number571/go-peer/pkg/client/queue/examples/main.go:43.17,44.14 1 0
-github.com/number571/go-peer/pkg/client/queue/examples/main.go:46.3,46.47 1 0
-github.com/number571/go-peer/pkg/client/queue/examples/main.go:46.47,47.14 1 0
-github.com/number571/go-peer/pkg/client/queue/examples/main.go:51.2,51.25 1 0
-github.com/number571/go-peer/pkg/client/queue/examples/main.go:51.25,54.17 3 0
-github.com/number571/go-peer/pkg/client/queue/examples/main.go:54.17,55.14 1 0
-github.com/number571/go-peer/pkg/client/queue/examples/main.go:57.3,57.35 1 0
-github.com/number571/go-peer/pkg/client/queue/examples/main.go:57.35,58.36 1 0
-github.com/number571/go-peer/pkg/client/queue/examples/main.go:60.3,60.90 1 0
-github.com/number571/go-peer/pkg/client/queue/examples/main.go:60.90,61.34 1 0
-github.com/number571/go-peer/pkg/client/queue/examples/main.go:63.3,63.37 1 0
+github.com/number571/go-peer/pkg/client/examples/main.go:35.33,42.2 1 0
+github.com/number571/go-peer/pkg/client/message/message.go:38.71,42.26 3 1
+github.com/number571/go-peer/pkg/client/message/message.go:43.14,44.14 1 1
+github.com/number571/go-peer/pkg/client/message/message.go:45.14,46.22 1 1
+github.com/number571/go-peer/pkg/client/message/message.go:47.10,48.57 1 1
+github.com/number571/go-peer/pkg/client/message/message.go:51.2,52.13 2 1
+github.com/number571/go-peer/pkg/client/message/message.go:52.13,54.3 1 1
+github.com/number571/go-peer/pkg/client/message/message.go:56.2,56.57 1 1
+github.com/number571/go-peer/pkg/client/message/message.go:56.57,58.3 1 1
+github.com/number571/go-peer/pkg/client/message/message.go:60.2,60.26 1 1
+github.com/number571/go-peer/pkg/client/message/message.go:61.14,62.37 1 1
+github.com/number571/go-peer/pkg/client/message/message.go:63.14,66.26 3 1
+github.com/number571/go-peer/pkg/client/message/message.go:66.26,68.4 1 1
+github.com/number571/go-peer/pkg/client/message/message.go:69.10,70.28 1 0
+github.com/number571/go-peer/pkg/client/message/message.go:73.2,73.25 1 1
+github.com/number571/go-peer/pkg/client/message/message.go:73.25,75.3 1 1
+github.com/number571/go-peer/pkg/client/message/message.go:77.2,77.17 1 1
+github.com/number571/go-peer/pkg/client/message/message.go:80.39,82.2 1 1
+github.com/number571/go-peer/pkg/client/message/message.go:84.39,86.2 1 1
+github.com/number571/go-peer/pkg/client/message/message.go:88.37,90.2 1 1
+github.com/number571/go-peer/pkg/client/message/message.go:92.37,94.2 1 1
+github.com/number571/go-peer/pkg/client/message/message.go:96.37,98.2 1 1
+github.com/number571/go-peer/pkg/client/message/message.go:100.50,102.2 1 1
+github.com/number571/go-peer/pkg/client/message/message.go:104.37,112.2 1 1
+github.com/number571/go-peer/pkg/client/message/message.go:114.38,122.2 1 0
+github.com/number571/go-peer/pkg/client/message/message.go:124.50,125.9 1 1
+github.com/number571/go-peer/pkg/client/message/message.go:126.63,127.14 1 1
+github.com/number571/go-peer/pkg/client/message/message.go:128.47,129.15 1 1
+github.com/number571/go-peer/pkg/client/message/message.go:130.10,131.14 1 1
+github.com/number571/go-peer/pkg/client/message/settings.go:12.46,16.2 1 1
+github.com/number571/go-peer/pkg/client/message/settings.go:18.45,19.30 1 1
+github.com/number571/go-peer/pkg/client/message/settings.go:19.30,20.36 1 1
+github.com/number571/go-peer/pkg/client/message/settings.go:22.2,22.10 1 1
+github.com/number571/go-peer/pkg/client/message/settings.go:25.50,27.2 1 1
+github.com/number571/go-peer/pkg/client/client.go:30.79,43.51 4 1
+github.com/number571/go-peer/pkg/client/client.go:43.51,44.54 1 1
+github.com/number571/go-peer/pkg/client/client.go:47.2,47.15 1 1
+github.com/number571/go-peer/pkg/client/client.go:51.44,53.33 2 1
+github.com/number571/go-peer/pkg/client/client.go:53.33,55.3 1 1
+github.com/number571/go-peer/pkg/client/client.go:56.2,56.35 1 1
+github.com/number571/go-peer/pkg/client/client.go:60.50,62.2 1 1
+github.com/number571/go-peer/pkg/client/client.go:65.52,67.2 1 1
+github.com/number571/go-peer/pkg/client/client.go:70.51,72.2 1 1
+github.com/number571/go-peer/pkg/client/client.go:76.109,82.31 2 1
+github.com/number571/go-peer/pkg/client/client.go:82.31,88.3 1 1
+github.com/number571/go-peer/pkg/client/client.go:90.2,94.8 1 1
+github.com/number571/go-peer/pkg/client/client.go:97.117,134.2 6 1
+github.com/number571/go-peer/pkg/client/client.go:138.103,140.47 1 1
+github.com/number571/go-peer/pkg/client/client.go:140.47,142.3 1 1
+github.com/number571/go-peer/pkg/client/client.go:145.2,146.20 2 1
+github.com/number571/go-peer/pkg/client/client.go:146.20,148.3 1 0
+github.com/number571/go-peer/pkg/client/client.go:151.2,153.24 3 1
+github.com/number571/go-peer/pkg/client/client.go:153.24,155.3 1 0
+github.com/number571/go-peer/pkg/client/client.go:158.2,159.19 2 1
+github.com/number571/go-peer/pkg/client/client.go:159.19,161.3 1 0
+github.com/number571/go-peer/pkg/client/client.go:162.2,162.49 1 1
+github.com/number571/go-peer/pkg/client/client.go:162.49,164.3 1 0
+github.com/number571/go-peer/pkg/client/client.go:167.2,168.25 2 1
+github.com/number571/go-peer/pkg/client/client.go:168.25,170.3 1 0
+github.com/number571/go-peer/pkg/client/client.go:171.2,172.31 2 1
+github.com/number571/go-peer/pkg/client/client.go:172.31,174.3 1 0
+github.com/number571/go-peer/pkg/client/client.go:175.2,176.26 2 1
+github.com/number571/go-peer/pkg/client/client.go:176.26,178.3 1 0
+github.com/number571/go-peer/pkg/client/client.go:181.2,182.17 2 1
+github.com/number571/go-peer/pkg/client/client.go:182.17,184.3 1 0
+github.com/number571/go-peer/pkg/client/client.go:187.2,195.41 2 1
+github.com/number571/go-peer/pkg/client/client.go:195.41,197.3 1 0
+github.com/number571/go-peer/pkg/client/client.go:201.2,202.17 2 1
+github.com/number571/go-peer/pkg/client/client.go:202.17,204.3 1 0
+github.com/number571/go-peer/pkg/client/client.go:205.2,205.47 1 1
+github.com/number571/go-peer/pkg/client/client.go:205.47,207.3 1 1
+github.com/number571/go-peer/pkg/client/client.go:210.2,211.52 2 1
+github.com/number571/go-peer/pkg/client/client.go:211.52,213.3 1 0
+github.com/number571/go-peer/pkg/client/client.go:214.2,215.16 2 1
+github.com/number571/go-peer/pkg/client/client.go:215.16,217.3 1 0
+github.com/number571/go-peer/pkg/client/client.go:220.2,220.25 1 1
+github.com/number571/go-peer/pkg/client/queue/examples/main.go:18.13,33.32 2 0
+github.com/number571/go-peer/pkg/client/queue/examples/main.go:33.32,34.13 1 0
+github.com/number571/go-peer/pkg/client/queue/examples/main.go:37.2,37.25 1 0
+github.com/number571/go-peer/pkg/client/queue/examples/main.go:37.25,42.17 2 0
+github.com/number571/go-peer/pkg/client/queue/examples/main.go:42.17,43.14 1 0
+github.com/number571/go-peer/pkg/client/queue/examples/main.go:45.3,45.47 1 0
+github.com/number571/go-peer/pkg/client/queue/examples/main.go:45.47,46.14 1 0
+github.com/number571/go-peer/pkg/client/queue/examples/main.go:50.2,50.25 1 0
+github.com/number571/go-peer/pkg/client/queue/examples/main.go:50.25,53.17 3 0
+github.com/number571/go-peer/pkg/client/queue/examples/main.go:53.17,54.14 1 0
+github.com/number571/go-peer/pkg/client/queue/examples/main.go:56.3,56.35 1 0
+github.com/number571/go-peer/pkg/client/queue/examples/main.go:56.35,57.36 1 0
+github.com/number571/go-peer/pkg/client/queue/examples/main.go:59.3,59.90 1 0
+github.com/number571/go-peer/pkg/client/queue/examples/main.go:59.90,60.34 1 0
+github.com/number571/go-peer/pkg/client/queue/examples/main.go:62.3,62.37 1 0
github.com/number571/go-peer/pkg/crypto/hashing/hashing.go:26.44,32.2 3 1
github.com/number571/go-peer/pkg/crypto/hashing/hashing.go:34.43,36.2 1 1
github.com/number571/go-peer/pkg/crypto/hashing/hashing.go:38.42,40.2 1 1
@@ -1666,6 +1661,28 @@ github.com/number571/go-peer/pkg/crypto/hashing/hmac.go:37.46,39.2 1 1
github.com/number571/go-peer/pkg/crypto/hashing/hmac.go:41.46,43.2 1 1
github.com/number571/go-peer/pkg/crypto/keybuilder/keybuilder.go:19.60,24.2 1 1
github.com/number571/go-peer/pkg/crypto/keybuilder/keybuilder.go:26.54,34.2 1 1
+github.com/number571/go-peer/pkg/crypto/symmetric/symmetric.go:24.40,25.30 1 1
+github.com/number571/go-peer/pkg/crypto/symmetric/symmetric.go:25.30,26.36 1 1
+github.com/number571/go-peer/pkg/crypto/symmetric/symmetric.go:28.2,29.16 2 1
+github.com/number571/go-peer/pkg/crypto/symmetric/symmetric.go:29.16,31.3 1 0
+github.com/number571/go-peer/pkg/crypto/symmetric/symmetric.go:32.2,34.3 1 1
+github.com/number571/go-peer/pkg/crypto/symmetric/symmetric.go:37.55,47.2 7 1
+github.com/number571/go-peer/pkg/crypto/symmetric/symmetric.go:49.55,51.27 2 1
+github.com/number571/go-peer/pkg/crypto/symmetric/symmetric.go:51.27,53.3 1 1
+github.com/number571/go-peer/pkg/crypto/symmetric/symmetric.go:55.2,59.15 4 1
+github.com/number571/go-peer/pkg/crypto/symmetric/symmetric.go:62.39,64.2 1 1
+github.com/number571/go-peer/pkg/crypto/symmetric/symmetric.go:66.39,68.2 1 1
+github.com/number571/go-peer/pkg/crypto/random/random.go:15.13,16.35 1 1
+github.com/number571/go-peer/pkg/crypto/random/random.go:16.35,17.41 1 0
+github.com/number571/go-peer/pkg/crypto/random/random.go:28.25,30.2 1 1
+github.com/number571/go-peer/pkg/crypto/random/random.go:33.46,36.16 3 1
+github.com/number571/go-peer/pkg/crypto/random/random.go:36.16,38.13 1 0
+github.com/number571/go-peer/pkg/crypto/random/random.go:40.2,40.14 1 1
+github.com/number571/go-peer/pkg/crypto/random/random.go:44.47,49.30 4 1
+github.com/number571/go-peer/pkg/crypto/random/random.go:49.30,51.3 1 1
+github.com/number571/go-peer/pkg/crypto/random/random.go:53.2,53.24 1 1
+github.com/number571/go-peer/pkg/crypto/random/random.go:57.39,61.2 3 1
+github.com/number571/go-peer/pkg/crypto/random/random.go:64.35,66.2 1 1
github.com/number571/go-peer/pkg/crypto/puzzle/puzzle.go:24.41,25.28 1 1
github.com/number571/go-peer/pkg/crypto/puzzle/puzzle.go:25.28,26.23 1 1
github.com/number571/go-peer/pkg/crypto/puzzle/puzzle.go:28.2,30.3 1 1
@@ -1749,28 +1766,6 @@ github.com/number571/go-peer/pkg/crypto/asymmetric/list_pubkeys.go:38.33,40.3 1
github.com/number571/go-peer/pkg/crypto/asymmetric/list_pubkeys.go:42.2,42.13 1 1
github.com/number571/go-peer/pkg/crypto/asymmetric/list_pubkeys.go:46.51,51.2 3 1
github.com/number571/go-peer/pkg/crypto/asymmetric/list_pubkeys.go:54.47,59.2 3 1
-github.com/number571/go-peer/pkg/crypto/random/random.go:15.13,16.35 1 1
-github.com/number571/go-peer/pkg/crypto/random/random.go:16.35,17.41 1 0
-github.com/number571/go-peer/pkg/crypto/random/random.go:28.25,30.2 1 1
-github.com/number571/go-peer/pkg/crypto/random/random.go:33.46,36.16 3 1
-github.com/number571/go-peer/pkg/crypto/random/random.go:36.16,38.13 1 0
-github.com/number571/go-peer/pkg/crypto/random/random.go:40.2,40.14 1 1
-github.com/number571/go-peer/pkg/crypto/random/random.go:44.47,49.30 4 1
-github.com/number571/go-peer/pkg/crypto/random/random.go:49.30,51.3 1 1
-github.com/number571/go-peer/pkg/crypto/random/random.go:53.2,53.24 1 1
-github.com/number571/go-peer/pkg/crypto/random/random.go:57.39,61.2 3 1
-github.com/number571/go-peer/pkg/crypto/random/random.go:64.35,66.2 1 1
-github.com/number571/go-peer/pkg/crypto/symmetric/symmetric.go:24.40,25.30 1 1
-github.com/number571/go-peer/pkg/crypto/symmetric/symmetric.go:25.30,26.36 1 1
-github.com/number571/go-peer/pkg/crypto/symmetric/symmetric.go:28.2,29.16 2 1
-github.com/number571/go-peer/pkg/crypto/symmetric/symmetric.go:29.16,31.3 1 0
-github.com/number571/go-peer/pkg/crypto/symmetric/symmetric.go:32.2,34.3 1 1
-github.com/number571/go-peer/pkg/crypto/symmetric/symmetric.go:37.55,47.2 7 1
-github.com/number571/go-peer/pkg/crypto/symmetric/symmetric.go:49.55,51.27 2 1
-github.com/number571/go-peer/pkg/crypto/symmetric/symmetric.go:51.27,53.3 1 1
-github.com/number571/go-peer/pkg/crypto/symmetric/symmetric.go:55.2,59.15 4 1
-github.com/number571/go-peer/pkg/crypto/symmetric/symmetric.go:62.39,64.2 1 1
-github.com/number571/go-peer/pkg/crypto/symmetric/symmetric.go:66.39,68.2 1 1
github.com/number571/go-peer/pkg/encoding/bytes.go:17.51,22.16 4 1
github.com/number571/go-peer/pkg/encoding/bytes.go:22.16,23.13 1 0
github.com/number571/go-peer/pkg/encoding/bytes.go:26.2,27.12 2 1
@@ -1820,36 +1815,6 @@ github.com/number571/go-peer/pkg/errors/errors.go:79.3,79.46 1 1
github.com/number571/go-peer/pkg/errors/errors.go:79.46,81.4 1 1
github.com/number571/go-peer/pkg/errors/errors.go:83.2,83.14 1 1
github.com/number571/go-peer/pkg/errors/errors.go:86.54,90.2 3 1
-github.com/number571/go-peer/pkg/file_system/file.go:17.35,21.2 1 1
-github.com/number571/go-peer/pkg/file_system/file.go:23.40,25.16 2 1
-github.com/number571/go-peer/pkg/file_system/file.go:25.16,27.3 1 1
-github.com/number571/go-peer/pkg/file_system/file.go:28.2,28.18 1 1
-github.com/number571/go-peer/pkg/file_system/file.go:31.43,32.59 1 1
-github.com/number571/go-peer/pkg/file_system/file.go:32.59,34.3 1 1
-github.com/number571/go-peer/pkg/file_system/file.go:35.2,35.12 1 1
-github.com/number571/go-peer/pkg/file_system/file.go:38.32,41.2 2 1
-github.com/number571/go-peer/pkg/logger/logger.go:28.60,35.23 3 1
-github.com/number571/go-peer/pkg/logger/logger.go:35.23,37.3 1 1
-github.com/number571/go-peer/pkg/logger/logger.go:39.2,40.23 2 1
-github.com/number571/go-peer/pkg/logger/logger.go:40.23,42.3 1 1
-github.com/number571/go-peer/pkg/logger/logger.go:44.2,45.23 2 1
-github.com/number571/go-peer/pkg/logger/logger.go:45.23,47.3 1 1
-github.com/number571/go-peer/pkg/logger/logger.go:49.2,49.15 1 1
-github.com/number571/go-peer/pkg/logger/logger.go:52.43,54.2 1 1
-github.com/number571/go-peer/pkg/logger/logger.go:56.42,57.23 1 1
-github.com/number571/go-peer/pkg/logger/logger.go:57.23,59.3 1 1
-github.com/number571/go-peer/pkg/logger/logger.go:60.2,60.38 1 1
-github.com/number571/go-peer/pkg/logger/logger.go:63.42,64.23 1 1
-github.com/number571/go-peer/pkg/logger/logger.go:64.23,66.3 1 1
-github.com/number571/go-peer/pkg/logger/logger.go:67.2,67.38 1 1
-github.com/number571/go-peer/pkg/logger/logger.go:70.42,71.23 1 1
-github.com/number571/go-peer/pkg/logger/logger.go:71.23,73.3 1 1
-github.com/number571/go-peer/pkg/logger/logger.go:74.2,74.38 1 1
-github.com/number571/go-peer/pkg/logger/settings.go:18.46,24.2 1 1
-github.com/number571/go-peer/pkg/logger/settings.go:26.45,29.2 1 1
-github.com/number571/go-peer/pkg/logger/settings.go:31.46,33.2 1 1
-github.com/number571/go-peer/pkg/logger/settings.go:35.46,37.2 1 1
-github.com/number571/go-peer/pkg/logger/settings.go:39.46,41.2 1 1
github.com/number571/go-peer/pkg/client/queue/queue.go:33.77,43.2 1 1
github.com/number571/go-peer/pkg/client/queue/queue.go:45.49,47.2 1 1
github.com/number571/go-peer/pkg/client/queue/queue.go:49.52,54.2 3 1
@@ -1893,6 +1858,62 @@ github.com/number571/go-peer/pkg/client/queue/settings.go:36.2,36.10 1 1
github.com/number571/go-peer/pkg/client/queue/settings.go:39.46,41.2 1 1
github.com/number571/go-peer/pkg/client/queue/settings.go:43.46,45.2 1 1
github.com/number571/go-peer/pkg/client/queue/settings.go:47.49,49.2 1 1
+github.com/number571/go-peer/pkg/logger/logger.go:28.60,35.23 3 1
+github.com/number571/go-peer/pkg/logger/logger.go:35.23,37.3 1 1
+github.com/number571/go-peer/pkg/logger/logger.go:39.2,40.23 2 1
+github.com/number571/go-peer/pkg/logger/logger.go:40.23,42.3 1 1
+github.com/number571/go-peer/pkg/logger/logger.go:44.2,45.23 2 1
+github.com/number571/go-peer/pkg/logger/logger.go:45.23,47.3 1 1
+github.com/number571/go-peer/pkg/logger/logger.go:49.2,49.15 1 1
+github.com/number571/go-peer/pkg/logger/logger.go:52.43,54.2 1 1
+github.com/number571/go-peer/pkg/logger/logger.go:56.42,57.23 1 1
+github.com/number571/go-peer/pkg/logger/logger.go:57.23,59.3 1 1
+github.com/number571/go-peer/pkg/logger/logger.go:60.2,60.38 1 1
+github.com/number571/go-peer/pkg/logger/logger.go:63.42,64.23 1 1
+github.com/number571/go-peer/pkg/logger/logger.go:64.23,66.3 1 1
+github.com/number571/go-peer/pkg/logger/logger.go:67.2,67.38 1 1
+github.com/number571/go-peer/pkg/logger/logger.go:70.42,71.23 1 1
+github.com/number571/go-peer/pkg/logger/logger.go:71.23,73.3 1 1
+github.com/number571/go-peer/pkg/logger/logger.go:74.2,74.38 1 1
+github.com/number571/go-peer/pkg/logger/settings.go:18.46,24.2 1 1
+github.com/number571/go-peer/pkg/logger/settings.go:26.45,29.2 1 1
+github.com/number571/go-peer/pkg/logger/settings.go:31.46,33.2 1 1
+github.com/number571/go-peer/pkg/logger/settings.go:35.46,37.2 1 1
+github.com/number571/go-peer/pkg/logger/settings.go:39.46,41.2 1 1
+github.com/number571/go-peer/pkg/file_system/file.go:17.35,21.2 1 1
+github.com/number571/go-peer/pkg/file_system/file.go:23.40,25.16 2 1
+github.com/number571/go-peer/pkg/file_system/file.go:25.16,27.3 1 1
+github.com/number571/go-peer/pkg/file_system/file.go:28.2,28.18 1 1
+github.com/number571/go-peer/pkg/file_system/file.go:31.43,32.59 1 1
+github.com/number571/go-peer/pkg/file_system/file.go:32.59,34.3 1 1
+github.com/number571/go-peer/pkg/file_system/file.go:35.2,35.12 1 1
+github.com/number571/go-peer/pkg/file_system/file.go:38.32,41.2 2 1
+github.com/number571/go-peer/pkg/network/anonymity/adapters/payload.go:15.54,19.2 1 1
+github.com/number571/go-peer/pkg/network/anonymity/adapters/payload.go:21.37,23.2 1 1
+github.com/number571/go-peer/pkg/network/anonymity/adapters/payload.go:25.37,27.2 1 1
+github.com/number571/go-peer/pkg/network/anonymity/adapters/payload.go:29.48,31.2 1 1
+github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:34.18,37.2 2 0
+github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:39.13,48.115 4 0
+github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:48.115,50.3 1 0
+github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:52.2,55.38 3 0
+github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:55.38,56.13 1 0
+github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:58.2,58.55 1 0
+github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:58.55,59.13 1 0
+github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:61.2,63.37 2 0
+github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:63.37,64.13 1 0
+github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:66.2,66.78 1 0
+github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:66.78,67.13 1 0
+github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:70.2,74.16 2 0
+github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:74.16,75.13 1 0
+github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:77.2,77.26 1 0
+github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:80.67,86.16 2 0
+github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:86.16,88.3 1 0
+github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:89.2,102.36 1 0
+github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:102.36,104.12 2 0
+github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:104.12,105.34 1 0
+github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:107.5,115.6 2 0
+github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:144.60,152.2 1 0
+github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:154.36,162.2 1 0
github.com/number571/go-peer/pkg/network/anonymity/examples/ping-ping/main.go:37.18,40.2 2 0
github.com/number571/go-peer/pkg/network/anonymity/examples/ping-ping/main.go:42.13,60.39 10 0
github.com/number571/go-peer/pkg/network/anonymity/examples/ping-ping/main.go:60.39,61.13 1 0
@@ -1919,34 +1940,8 @@ github.com/number571/go-peer/pkg/network/anonymity/examples/ping-ping/main.go:12
github.com/number571/go-peer/pkg/network/anonymity/examples/ping-ping/main.go:140.36,142.12 2 0
github.com/number571/go-peer/pkg/network/anonymity/examples/ping-ping/main.go:142.12,143.34 1 0
github.com/number571/go-peer/pkg/network/anonymity/examples/ping-ping/main.go:145.5,153.6 2 0
-github.com/number571/go-peer/pkg/network/anonymity/examples/ping-ping/main.go:183.60,191.2 1 0
-github.com/number571/go-peer/pkg/network/anonymity/examples/ping-ping/main.go:193.36,201.2 1 0
-github.com/number571/go-peer/pkg/network/anonymity/adapters/payload.go:15.54,19.2 1 1
-github.com/number571/go-peer/pkg/network/anonymity/adapters/payload.go:21.37,23.2 1 1
-github.com/number571/go-peer/pkg/network/anonymity/adapters/payload.go:25.37,27.2 1 1
-github.com/number571/go-peer/pkg/network/anonymity/adapters/payload.go:29.48,31.2 1 1
-github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:34.18,37.2 2 0
-github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:39.13,48.115 4 0
-github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:48.115,50.3 1 0
-github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:52.2,55.38 3 0
-github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:55.38,56.13 1 0
-github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:58.2,58.55 1 0
-github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:58.55,59.13 1 0
-github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:61.2,63.37 2 0
-github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:63.37,64.13 1 0
-github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:66.2,66.78 1 0
-github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:66.78,67.13 1 0
-github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:70.2,74.16 2 0
-github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:74.16,75.13 1 0
-github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:77.2,77.26 1 0
-github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:80.67,86.16 2 0
-github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:86.16,88.3 1 0
-github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:89.2,102.36 1 0
-github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:102.36,104.12 2 0
-github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:104.12,105.34 1 0
-github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:107.5,115.6 2 0
-github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:145.60,153.2 1 0
-github.com/number571/go-peer/pkg/network/anonymity/examples/echo/main.go:155.36,163.2 1 0
+github.com/number571/go-peer/pkg/network/anonymity/examples/ping-ping/main.go:182.60,190.2 1 0
+github.com/number571/go-peer/pkg/network/anonymity/examples/ping-ping/main.go:192.36,200.2 1 0
github.com/number571/go-peer/pkg/network/anonymity/logger/log_builder.go:24.49,30.2 3 1
github.com/number571/go-peer/pkg/network/anonymity/logger/log_builder.go:32.40,34.2 1 1
github.com/number571/go-peer/pkg/network/anonymity/logger/log_builder.go:36.60,39.2 2 1
@@ -1963,6 +1958,19 @@ github.com/number571/go-peer/pkg/network/anonymity/logger/log_getter.go:34.39,36
github.com/number571/go-peer/pkg/network/anonymity/logger/log_getter.go:38.39,40.2 1 1
github.com/number571/go-peer/pkg/network/anonymity/logger/log_getter.go:42.53,44.2 1 1
github.com/number571/go-peer/pkg/network/anonymity/logger/log_getter.go:46.40,48.2 1 1
+github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:20.13,29.39 4 0
+github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:29.39,30.13 1 0
+github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:32.2,34.63 2 0
+github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:34.63,35.13 1 0
+github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:38.2,39.16 2 0
+github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:39.16,40.13 1 0
+github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:43.2,50.16 2 0
+github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:50.16,51.13 1 0
+github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:54.2,54.25 1 0
+github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:57.52,58.73 1 0
+github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:58.73,62.3 3 0
+github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:65.51,80.2 1 0
+github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:82.36,90.2 1 0
github.com/number571/go-peer/pkg/network/conn/conn.go:52.60,54.16 2 1
github.com/number571/go-peer/pkg/network/conn/conn.go:54.16,56.3 1 1
github.com/number571/go-peer/pkg/network/conn/conn.go:57.2,57.35 1 1
@@ -2032,19 +2040,6 @@ github.com/number571/go-peer/pkg/network/conn/settings.go:75.47,77.2 1 1
github.com/number571/go-peer/pkg/network/conn/settings.go:79.57,81.2 1 1
github.com/number571/go-peer/pkg/network/conn/settings.go:83.53,85.2 1 1
github.com/number571/go-peer/pkg/network/conn/settings.go:87.54,89.2 1 1
-github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:20.13,29.39 4 0
-github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:29.39,30.13 1 0
-github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:32.2,34.63 2 0
-github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:34.63,35.13 1 0
-github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:38.2,39.16 2 0
-github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:39.16,40.13 1 0
-github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:43.2,50.16 2 0
-github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:50.16,51.13 1 0
-github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:54.2,54.25 1 0
-github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:57.52,58.73 1 0
-github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:58.73,62.3 3 0
-github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:65.51,80.2 1 0
-github.com/number571/go-peer/pkg/network/examples/broadcast/main.go:82.36,90.2 1 0
github.com/number571/go-peer/pkg/network/examples/echo/main.go:20.13,27.38 3 0
github.com/number571/go-peer/pkg/network/examples/echo/main.go:27.38,28.13 1 0
github.com/number571/go-peer/pkg/network/examples/echo/main.go:30.2,33.16 3 0
@@ -2060,66 +2055,6 @@ github.com/number571/go-peer/pkg/network/examples/echo/main.go:56.34,57.76 1 0
github.com/number571/go-peer/pkg/network/examples/echo/main.go:57.76,66.3 2 0
github.com/number571/go-peer/pkg/network/examples/echo/main.go:69.51,84.2 1 0
github.com/number571/go-peer/pkg/network/examples/echo/main.go:86.36,94.2 1 0
-github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:20.13,29.39 4 0
-github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:29.39,30.13 1 0
-github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:32.2,36.63 3 0
-github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:36.63,37.13 1 0
-github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:40.2,49.9 3 0
-github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:52.52,53.73 1 0
-github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:53.73,57.17 3 0
-github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:57.17,59.4 1 0
-github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:61.3,62.17 2 0
-github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:62.17,64.4 1 0
-github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:66.3,75.13 3 0
-github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:79.51,94.2 1 0
-github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:96.36,104.2 1 0
-github.com/number571/go-peer/pkg/network/message/message.go:30.66,39.2 3 1
-github.com/number571/go-peer/pkg/network/message/message.go:41.63,44.27 2 1
-github.com/number571/go-peer/pkg/network/message/message.go:45.14,46.15 1 1
-github.com/number571/go-peer/pkg/network/message/message.go:47.14,48.51 1 0
-github.com/number571/go-peer/pkg/network/message/message.go:49.10,50.13 1 0
-github.com/number571/go-peer/pkg/network/message/message.go:53.2,53.62 1 1
-github.com/number571/go-peer/pkg/network/message/message.go:53.62,55.3 1 1
-github.com/number571/go-peer/pkg/network/message/message.go:57.2,66.41 8 1
-github.com/number571/go-peer/pkg/network/message/message.go:66.41,68.3 1 1
-github.com/number571/go-peer/pkg/network/message/message.go:70.2,70.69 1 1
-github.com/number571/go-peer/pkg/network/message/message.go:70.69,72.3 1 0
-github.com/number571/go-peer/pkg/network/message/message.go:75.2,76.16 2 1
-github.com/number571/go-peer/pkg/network/message/message.go:76.16,78.3 1 0
-github.com/number571/go-peer/pkg/network/message/message.go:80.2,84.3 1 1
-github.com/number571/go-peer/pkg/network/message/message.go:87.38,89.2 1 1
-github.com/number571/go-peer/pkg/network/message/message.go:91.37,93.2 1 1
-github.com/number571/go-peer/pkg/network/message/message.go:95.50,97.2 1 1
-github.com/number571/go-peer/pkg/network/message/message.go:99.37,109.2 2 1
-github.com/number571/go-peer/pkg/network/message/message.go:111.38,113.2 1 0
-github.com/number571/go-peer/pkg/network/message/message.go:115.55,121.2 2 1
-github.com/number571/go-peer/pkg/network/message/settings.go:13.46,18.2 1 1
-github.com/number571/go-peer/pkg/network/message/settings.go:20.45,22.2 1 1
-github.com/number571/go-peer/pkg/network/message/settings.go:24.46,26.2 1 1
-github.com/number571/go-peer/pkg/network/message/settings.go:28.44,30.2 1 1
-github.com/number571/go-peer/pkg/payload/payload.go:15.54,21.2 2 1
-github.com/number571/go-peer/pkg/payload/payload.go:23.49,24.47 1 1
-github.com/number571/go-peer/pkg/payload/payload.go:24.47,26.3 1 1
-github.com/number571/go-peer/pkg/payload/payload.go:27.2,27.32 1 1
-github.com/number571/go-peer/pkg/payload/payload.go:30.36,34.2 3 1
-github.com/number571/go-peer/pkg/payload/payload.go:36.36,38.2 1 1
-github.com/number571/go-peer/pkg/payload/payload.go:40.36,42.2 1 1
-github.com/number571/go-peer/pkg/queue_set/queue_set.go:21.49,27.2 1 1
-github.com/number571/go-peer/pkg/queue_set/queue_set.go:29.45,31.2 1 1
-github.com/number571/go-peer/pkg/queue_set/queue_set.go:33.45,39.31 5 0
-github.com/number571/go-peer/pkg/queue_set/queue_set.go:39.31,41.15 2 0
-github.com/number571/go-peer/pkg/queue_set/queue_set.go:41.15,42.33 1 0
-github.com/number571/go-peer/pkg/queue_set/queue_set.go:44.3,44.25 1 0
-github.com/number571/go-peer/pkg/queue_set/queue_set.go:47.2,47.13 1 0
-github.com/number571/go-peer/pkg/queue_set/queue_set.go:50.52,56.32 4 1
-github.com/number571/go-peer/pkg/queue_set/queue_set.go:56.32,58.3 1 1
-github.com/number571/go-peer/pkg/queue_set/queue_set.go:61.2,69.13 5 1
-github.com/number571/go-peer/pkg/queue_set/queue_set.go:72.54,78.2 4 1
-github.com/number571/go-peer/pkg/queue_set/settings.go:12.46,16.2 1 1
-github.com/number571/go-peer/pkg/queue_set/settings.go:18.45,19.22 1 1
-github.com/number571/go-peer/pkg/queue_set/settings.go:19.22,20.28 1 1
-github.com/number571/go-peer/pkg/queue_set/settings.go:22.2,22.10 1 1
-github.com/number571/go-peer/pkg/queue_set/settings.go:25.42,27.2 1 1
github.com/number571/go-peer/pkg/network/network.go:31.74,38.2 1 1
github.com/number571/go-peer/pkg/network/network.go:41.41,43.2 1 1
github.com/number571/go-peer/pkg/network/network.go:46.63,55.39 5 1
@@ -2206,6 +2141,66 @@ github.com/number571/go-peer/pkg/network/settings.go:52.45,54.2 1 1
github.com/number571/go-peer/pkg/network/settings.go:56.54,58.2 1 1
github.com/number571/go-peer/pkg/network/settings.go:60.52,62.2 1 1
github.com/number571/go-peer/pkg/network/settings.go:64.53,66.2 1 1
+github.com/number571/go-peer/pkg/network/message/message.go:30.66,39.2 3 1
+github.com/number571/go-peer/pkg/network/message/message.go:41.63,44.27 2 1
+github.com/number571/go-peer/pkg/network/message/message.go:45.14,46.15 1 1
+github.com/number571/go-peer/pkg/network/message/message.go:47.14,48.51 1 0
+github.com/number571/go-peer/pkg/network/message/message.go:49.10,50.13 1 0
+github.com/number571/go-peer/pkg/network/message/message.go:53.2,53.62 1 1
+github.com/number571/go-peer/pkg/network/message/message.go:53.62,55.3 1 1
+github.com/number571/go-peer/pkg/network/message/message.go:57.2,66.41 8 1
+github.com/number571/go-peer/pkg/network/message/message.go:66.41,68.3 1 1
+github.com/number571/go-peer/pkg/network/message/message.go:70.2,70.69 1 1
+github.com/number571/go-peer/pkg/network/message/message.go:70.69,72.3 1 0
+github.com/number571/go-peer/pkg/network/message/message.go:75.2,76.16 2 1
+github.com/number571/go-peer/pkg/network/message/message.go:76.16,78.3 1 0
+github.com/number571/go-peer/pkg/network/message/message.go:80.2,84.3 1 1
+github.com/number571/go-peer/pkg/network/message/message.go:87.38,89.2 1 1
+github.com/number571/go-peer/pkg/network/message/message.go:91.37,93.2 1 1
+github.com/number571/go-peer/pkg/network/message/message.go:95.50,97.2 1 1
+github.com/number571/go-peer/pkg/network/message/message.go:99.37,109.2 2 1
+github.com/number571/go-peer/pkg/network/message/message.go:111.38,113.2 1 0
+github.com/number571/go-peer/pkg/network/message/message.go:115.55,121.2 2 1
+github.com/number571/go-peer/pkg/network/message/settings.go:13.46,18.2 1 1
+github.com/number571/go-peer/pkg/network/message/settings.go:20.45,22.2 1 1
+github.com/number571/go-peer/pkg/network/message/settings.go:24.46,26.2 1 1
+github.com/number571/go-peer/pkg/network/message/settings.go:28.44,30.2 1 1
+github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:20.13,29.39 4 0
+github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:29.39,30.13 1 0
+github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:32.2,36.63 3 0
+github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:36.63,37.13 1 0
+github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:40.2,49.9 3 0
+github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:52.52,53.73 1 0
+github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:53.73,57.17 3 0
+github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:57.17,59.4 1 0
+github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:61.3,62.17 2 0
+github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:62.17,64.4 1 0
+github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:66.3,75.13 3 0
+github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:79.51,94.2 1 0
+github.com/number571/go-peer/pkg/network/examples/ping-pong/main.go:96.36,104.2 1 0
+github.com/number571/go-peer/pkg/payload/payload.go:15.54,21.2 2 1
+github.com/number571/go-peer/pkg/payload/payload.go:23.49,24.47 1 1
+github.com/number571/go-peer/pkg/payload/payload.go:24.47,26.3 1 1
+github.com/number571/go-peer/pkg/payload/payload.go:27.2,27.32 1 1
+github.com/number571/go-peer/pkg/payload/payload.go:30.36,34.2 3 1
+github.com/number571/go-peer/pkg/payload/payload.go:36.36,38.2 1 1
+github.com/number571/go-peer/pkg/payload/payload.go:40.36,42.2 1 1
+github.com/number571/go-peer/pkg/queue_set/queue_set.go:21.49,27.2 1 1
+github.com/number571/go-peer/pkg/queue_set/queue_set.go:29.45,31.2 1 1
+github.com/number571/go-peer/pkg/queue_set/queue_set.go:33.45,39.31 5 0
+github.com/number571/go-peer/pkg/queue_set/queue_set.go:39.31,41.15 2 0
+github.com/number571/go-peer/pkg/queue_set/queue_set.go:41.15,42.33 1 0
+github.com/number571/go-peer/pkg/queue_set/queue_set.go:44.3,44.25 1 0
+github.com/number571/go-peer/pkg/queue_set/queue_set.go:47.2,47.13 1 0
+github.com/number571/go-peer/pkg/queue_set/queue_set.go:50.52,56.32 4 1
+github.com/number571/go-peer/pkg/queue_set/queue_set.go:56.32,58.3 1 1
+github.com/number571/go-peer/pkg/queue_set/queue_set.go:61.2,69.13 5 1
+github.com/number571/go-peer/pkg/queue_set/queue_set.go:72.54,78.2 4 1
+github.com/number571/go-peer/pkg/queue_set/settings.go:12.46,16.2 1 1
+github.com/number571/go-peer/pkg/queue_set/settings.go:18.45,19.22 1 1
+github.com/number571/go-peer/pkg/queue_set/settings.go:19.22,20.28 1 1
+github.com/number571/go-peer/pkg/queue_set/settings.go:22.2,22.10 1 1
+github.com/number571/go-peer/pkg/queue_set/settings.go:25.42,27.2 1 1
github.com/number571/go-peer/pkg/storage/settings.go:14.46,20.2 1 1
github.com/number571/go-peer/pkg/storage/settings.go:22.45,23.19 1 1
github.com/number571/go-peer/pkg/storage/settings.go:23.19,24.25 1 1
@@ -2382,10 +2377,10 @@ github.com/number571/go-peer/cmd/hidden_lake/service/pkg/app/init_conn_keeper.go
github.com/number571/go-peer/cmd/hidden_lake/service/pkg/app/init_database.go:12.37,18.16 2 1
github.com/number571/go-peer/cmd/hidden_lake/service/pkg/app/init_database.go:18.16,20.3 1 0
github.com/number571/go-peer/cmd/hidden_lake/service/pkg/app/init_database.go:21.2,22.12 2 1
-github.com/number571/go-peer/cmd/hidden_lake/service/pkg/app/init_node.go:20.106,73.34 4 1
-github.com/number571/go-peer/cmd/hidden_lake/service/pkg/app/init_node.go:73.34,75.45 2 1
-github.com/number571/go-peer/cmd/hidden_lake/service/pkg/app/init_node.go:75.45,77.5 1 0
-github.com/number571/go-peer/cmd/hidden_lake/service/pkg/app/init_node.go:78.4,78.14 1 1
+github.com/number571/go-peer/cmd/hidden_lake/service/pkg/app/init_node.go:20.106,72.34 4 1
+github.com/number571/go-peer/cmd/hidden_lake/service/pkg/app/init_node.go:72.34,74.45 2 1
+github.com/number571/go-peer/cmd/hidden_lake/service/pkg/app/init_node.go:74.45,76.5 1 0
+github.com/number571/go-peer/cmd/hidden_lake/service/pkg/app/init_node.go:77.4,77.14 1 1
github.com/number571/go-peer/cmd/hidden_lake/service/pkg/app/init_pprof.go:5.35,7.2 1 1
github.com/number571/go-peer/cmd/hidden_lake/service/pkg/app/init_service.go:10.34,26.2 10 1
github.com/number571/go-peer/cmd/hidden_lake/traffic/pkg/app/app.go:54.18,83.2 6 1
@@ -2468,70 +2463,71 @@ github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:162.34,163.14 1
github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:163.14,165.4 1 1
github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:166.3,166.21 1 1
github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:167.52,168.51 1 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:172.108,180.2 1 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:182.34,183.39 1 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:183.39,185.3 1 0
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:187.2,187.12 1 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:187.12,188.7 1 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:188.7,190.11 2 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:190.11,191.10 1 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:194.4,205.71 3 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:205.71,207.13 1 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:211.4,215.34 2 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:219.2,219.12 1 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:222.51,223.82 1 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:223.82,236.70 5 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:236.70,238.18 1 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:238.18,240.5 1 0
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:241.4,241.14 1 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:245.3,246.17 2 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:246.17,249.4 2 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:252.3,255.36 2 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:255.36,258.4 2 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:261.3,264.10 3 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:266.25,270.11 3 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:270.11,273.5 2 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:275.4,277.14 3 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:280.24,283.23 2 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:283.23,286.5 2 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:289.4,290.18 2 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:290.18,293.5 2 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:294.4,294.19 1 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:294.19,297.5 2 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:301.4,302.14 2 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:305.11,307.14 2 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:312.104,318.43 3 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:318.43,321.3 2 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:323.2,328.15 2 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:329.18,331.47 2 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:332.19,334.48 2 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:335.10,337.48 2 0
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:340.2,342.16 3 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:342.16,345.3 2 0
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:347.2,360.36 3 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:360.36,363.3 2 0
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:365.2,366.12 2 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:369.144,370.17 1 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:370.17,373.3 2 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:375.2,389.21 3 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:389.21,392.3 2 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:395.2,397.60 3 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:397.60,400.3 2 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:403.2,410.60 2 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:410.60,413.3 2 0
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:416.2,416.18 1 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:416.18,418.53 1 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:418.53,421.4 1 0
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:424.2,424.18 1 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:427.67,429.58 1 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:429.58,431.3 1 0
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:432.2,432.12 1 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:435.59,440.2 3 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:442.58,448.2 4 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:450.66,456.2 4 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:458.46,463.2 3 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:465.46,470.2 3 1
-github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:472.68,475.2 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:172.34,173.39 1 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:173.39,175.3 1 0
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:177.2,177.12 1 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:177.12,178.7 1 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:178.7,180.11 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:180.11,181.10 1 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:184.4,195.71 3 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:195.71,197.13 1 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:201.4,205.34 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:209.2,209.12 1 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:212.51,213.82 1 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:213.82,224.17 5 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:224.17,226.4 1 0
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:229.3,229.70 1 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:229.70,231.18 1 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:231.18,233.5 1 0
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:234.4,234.14 1 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:238.3,239.17 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:239.17,242.4 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:245.3,248.36 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:248.36,251.4 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:254.3,257.10 3 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:259.25,263.11 3 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:263.11,266.5 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:268.4,270.14 3 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:273.24,276.23 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:276.23,279.5 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:282.4,283.18 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:283.18,286.5 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:287.4,287.19 1 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:287.19,290.5 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:294.4,295.14 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:298.11,300.14 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:305.104,311.43 3 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:311.43,314.3 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:316.2,321.15 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:322.18,324.47 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:325.19,327.48 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:328.10,330.48 2 0
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:333.2,335.16 3 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:335.16,338.3 2 0
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:340.2,351.36 3 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:351.36,354.3 2 0
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:356.2,357.12 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:360.144,361.17 1 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:361.17,364.3 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:366.2,380.21 3 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:380.21,383.3 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:386.2,388.60 3 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:388.60,391.3 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:394.2,401.60 2 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:401.60,404.3 2 0
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:407.2,407.18 1 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:407.18,409.53 1 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:409.53,412.4 1 0
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:415.2,415.18 1 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:418.67,420.58 1 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:420.58,422.3 1 0
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:423.2,423.12 1 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:426.59,431.2 3 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:433.58,439.2 4 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:441.66,447.2 4 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:449.46,454.2 3 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:456.46,461.2 3 1
+github.com/number571/go-peer/pkg/network/anonymity/anonymity.go:463.68,466.2 2 1
github.com/number571/go-peer/pkg/network/anonymity/data_type.go:12.36,13.22 1 1
github.com/number571/go-peer/pkg/network/anonymity/data_type.go:13.22,15.3 1 1
github.com/number571/go-peer/pkg/network/anonymity/data_type.go:16.2,16.43 1 1