MCPcopy
hub / github.com/gorilla/websocket / makeConns

Method makeConns

conn_broadcast_test.go:58–88  ·  conn_broadcast_test.go::broadcastBench.makeConns
(numConns int)

Source from the content-addressed store, hash-verified

56}
57
58func (b *broadcastBench) makeConns(numConns int) {
59 conns := make([]*broadcastConn, numConns)
60
61 for i := 0; i < numConns; i++ {
62 c := newTestConn(nil, b.w, true)
63 if b.compression {
64 c.enableWriteCompression = true
65 c.newCompressionWriter = compressNoContextTakeover
66 }
67 conns[i] = newBroadcastConn(c)
68 go func(c *broadcastConn) {
69 for {
70 select {
71 case msg := <-c.msgCh:
72 if msg.prepared != nil {
73 c.conn.WritePreparedMessage(msg.prepared)
74 } else {
75 c.conn.WriteMessage(TextMessage, msg.payload)
76 }
77 val := atomic.AddInt32(&b.count, 1)
78 if val%int32(numConns) == 0 {
79 b.doneCh <- struct{}{}
80 }
81 case <-b.closeCh:
82 return
83 }
84 }
85 }(conns[i])
86 }
87 b.conns = conns
88}
89
90func (b *broadcastBench) close() {
91 close(b.closeCh)

Callers 1

newBroadcastBenchFunction · 0.95

Calls 4

newTestConnFunction · 0.85
newBroadcastConnFunction · 0.85
WritePreparedMessageMethod · 0.80
WriteMessageMethod · 0.80

Tested by

no test coverage detected