MCPcopy Index your code
hub / github.com/subtrace/subtrace / LogValue

Method LogValue

cmd/run/socket/inode.go:126–164  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

124}
125
126func (ino *Inode) LogValue() slog.Value {
127 var state string
128 var extra []slog.Attr
129 switch s := ino.state.Load(); s.state {
130 case StatePassive:
131 state = "passive"
132 case StateConnected:
133 state = "connected"
134 extra = append(extra, slog.Any("proxy", s.connected.proxy))
135 case StateConnecting:
136 state = "connecting"
137 extra = append(extra, slog.Any("bind", s.connecting.bind), slog.Any("peer", s.connecting.peer))
138 case StateListening:
139 state = "listening"
140 extra = append(extra, slog.String("bind", s.listening.lis.Addr().String()))
141 extra = append(extra, slog.Bool("active", s.listening.active.Load()))
142 case StateClosed:
143 state = "closed"
144 }
145
146 var domain string
147 switch ino.Domain {
148 case unix.AF_INET:
149 domain = "AF_INET"
150 case unix.AF_INET6:
151 domain = "AF_INET6"
152 }
153
154 ino.mu.RLock()
155 open := len(ino.open)
156 ino.mu.RUnlock()
157
158 return slog.GroupValue(append([]slog.Attr{
159 slog.String("domain", domain),
160 slog.Uint64("number", ino.Number),
161 slog.Int("open", open),
162 slog.String("state", state),
163 }, extra...)...)
164}
165
166func (ino *Inode) add(sock *Socket) {
167 ino.mu.Lock()

Callers 1

AddMethod · 0.45

Calls 3

LoadMethod · 0.80
AddrMethod · 0.80
StringMethod · 0.45

Tested by

no test coverage detected