1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package main
- import (
- "fmt"
- "math/rand"
- "sync/atomic"
- "time"
- "github.com/langgenius/dify-plugin-daemon/internal/types/entities"
- )
- func main() {
- response := entities.NewInvocationResponse[string](1024)
- random_string := func() string {
- return fmt.Sprintf("%d", rand.Intn(100000))
- }
- traffic := new(int64)
- go func() {
- for {
- response.Write(random_string())
- }
- }()
- go func() {
- for {
- response.Write(random_string())
- }
- }()
- go func() {
- for response.Next() {
- atomic.AddInt64(traffic, 1)
- _, err := response.Read()
- if err != nil {
- fmt.Println(err)
- break
- }
- }
- }()
- go func() {
- for range time.NewTicker(time.Second).C {
- fmt.Printf("Traffic: %d, Unsolved: %d\n", atomic.LoadInt64(traffic), response.Size())
- atomic.StoreInt64(traffic, 0)
- }
- }()
- select {}
- }
|