MessageCount returns the number of items that contain a message.
()
| 948 | |
| 949 | // MessageCount returns the number of items that contain a message. |
| 950 | func (s *Session) MessageCount() int { |
| 951 | s.mu.RLock() |
| 952 | defer s.mu.RUnlock() |
| 953 | |
| 954 | n := 0 |
| 955 | for _, item := range s.Messages { |
| 956 | if item.IsMessage() { |
| 957 | n++ |
| 958 | } |
| 959 | } |
| 960 | return n |
| 961 | } |
| 962 | |
| 963 | // TotalCost computes the total cost of a session by walking all messages, |
| 964 | // sub-sessions, and summary items. It does not use the session-level Cost |