Skip to content

Commit b47da38

Browse files
author
number571
committed
update
2 parents af75a86 + 87274fe commit b47da38

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+757
-586
lines changed

CHANGELOG.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,30 @@
22

33
<!-- ... -->
44

5-
## v1.7.7~
5+
## v1.7.8~
66

77
*??? ??, ????*
88

99
<!-- ... -->
1010

11+
## v1.7.7
12+
13+
*December 11, 2024*
14+
15+
### IMPROVEMENTS
16+
17+
- `pkg/anonymity`: move from pkg/network/anonymity -> pkg/anonymity
18+
- `pkg/anonymity`: replace network.INode -> adapters.IAdapter
19+
20+
<!-- ... -->
21+
1122
## v1.7.6
1223

1324
*November 25, 2024*
1425

1526
### IMPROVEMENTS
1627

17-
- Update `pkg/network/anonymity/queue`: add GetConsumersCap
28+
- `pkg/network/anonymity/queue`: add GetConsumersCap
1829

1930
### CHANGES
2031

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@
5555
<a href="https://vk.me/join/6Px6b0Qh/uZIK4ixUYWQm4Krepzq5xbYjYw=">
5656
<img src="https://img.shields.io/badge/вконтакте-%232E87FB.svg?&style=for-the-badge&logo=vk&logoColor=white" alt="VKontakte" />
5757
</a>
58+
<a href="https://t.me/+9Kcxr8NyeU8zZDZi">
59+
<img src="https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white" alt="Telegram" />
60+
</a>
5861
</p>
5962
About project
6063
</h2>

build/build.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
package build
22

3-
const CVersion = "v1.7.6"
3+
const CVersion = "v1.7.7"
File renamed without changes.

pkg/anonymity/adapters/adapter.go

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package adapters
2+
3+
import (
4+
"context"
5+
6+
net_message "github.com/number571/go-peer/pkg/network/message"
7+
)
8+
9+
var (
10+
_ IAdapter = &sAdapter{}
11+
)
12+
13+
type (
14+
iProducerF func(context.Context, net_message.IMessage) error
15+
iConsumerF func(context.Context) (net_message.IMessage, error)
16+
)
17+
18+
type sAdapter struct {
19+
fProduce iProducerF
20+
fConsume iConsumerF
21+
}
22+
23+
func NewAdapterByFuncs(pProduce iProducerF, pConsume iConsumerF) IAdapter {
24+
return &sAdapter{
25+
fProduce: pProduce,
26+
fConsume: pConsume,
27+
}
28+
}
29+
30+
func (p *sAdapter) Produce(pCtx context.Context, pMsg net_message.IMessage) error {
31+
return p.fProduce(pCtx, pMsg)
32+
}
33+
34+
func (p *sAdapter) Consume(pCtx context.Context) (net_message.IMessage, error) {
35+
return p.fConsume(pCtx)
36+
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package adapters
2+
3+
import (
4+
"bytes"
5+
"context"
6+
"testing"
7+
8+
"github.com/number571/go-peer/pkg/network/message"
9+
"github.com/number571/go-peer/pkg/payload"
10+
)
11+
12+
const (
13+
tcMessage = "hello, world!"
14+
)
15+
16+
func TestAdapter(t *testing.T) {
17+
msgChan := make(chan message.IMessage, 1)
18+
adapter := NewAdapterByFuncs(
19+
func(_ context.Context, msg message.IMessage) error {
20+
msgChan <- msg
21+
return nil
22+
},
23+
func(_ context.Context) (message.IMessage, error) {
24+
return <-msgChan, nil
25+
},
26+
)
27+
28+
ctx := context.Background()
29+
30+
err := adapter.Produce(ctx, message.NewMessage(
31+
message.NewConstructSettings(&message.SConstructSettings{
32+
FSettings: message.NewSettings(&message.SSettings{}),
33+
}),
34+
payload.NewPayload32(0x01, []byte(tcMessage)),
35+
))
36+
if err != nil {
37+
t.Error(err)
38+
return
39+
}
40+
41+
msg, err := adapter.Consume(ctx)
42+
if err != nil {
43+
t.Error(err)
44+
return
45+
}
46+
if !bytes.Equal(msg.GetPayload().GetBody(), []byte(tcMessage)) {
47+
t.Error("consume invalid message")
48+
return
49+
}
50+
}

pkg/anonymity/adapters/types.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package adapters
2+
3+
import (
4+
"context"
5+
6+
net_message "github.com/number571/go-peer/pkg/network/message"
7+
)
8+
9+
type IAdapter interface {
10+
IProducer
11+
IConsumer
12+
}
13+
14+
type IProducer interface {
15+
Produce(context.Context, net_message.IMessage) error
16+
}
17+
18+
type IConsumer interface {
19+
Consume(context.Context) (net_message.IMessage, error)
20+
}

0 commit comments

Comments
 (0)