1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package plugin_manager
- import (
- "fmt"
- "github.com/panjf2000/gnet/v2"
- )
- type difyServer struct {
- gnet.BuiltinEventEngine
- eng gnet.Engine
- addr string
- multicore bool
- }
- func (s *difyServer) OnOpen(c gnet.Conn) (out []byte, action gnet.Action) {
- c.SetContext(&codec{})
- return nil, gnet.None
- }
- func (s *difyServer) OnBoot(c gnet.Engine) (action gnet.Action) {
- return gnet.None
- }
- func (s *difyServer) OnTraffic(c gnet.Conn) (action gnet.Action) {
- codec := c.Context().(*codec)
- messages, err := codec.Decode(c)
- if err != nil {
- return gnet.Close
- }
- for _, message := range messages {
- fmt.Println(message)
- }
- return gnet.None
- }
- func traffic() {
- addr := "tcp://:9000"
- multicore := true
- s := &difyServer{addr: addr, multicore: multicore}
- gnet.Run(s, addr, gnet.WithMulticore(multicore), gnet.WithNumEventLoop(8))
- }
|