Full Mattermost server source with integrated Community Enterprise features. Includes vendor directory for offline/air-gapped builds. Structure: - enterprise-impl/: Enterprise feature implementations - enterprise-community/: Init files that register implementations - enterprise/: Bridge imports (community_imports.go) - vendor/: All dependencies for offline builds Build (online): go build ./cmd/mattermost Build (offline/air-gapped): go build -mod=vendor ./cmd/mattermost 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
24 lines
431 B
Go
24 lines
431 B
Go
package plumbing
|
|
|
|
import (
|
|
"sync/atomic"
|
|
)
|
|
|
|
// WriteCounter is an io.Writer that simply counts the number of bytes written
|
|
// to it.
|
|
type WriteCounter struct {
|
|
count uint64
|
|
}
|
|
|
|
func (wc *WriteCounter) Write(p []byte) (int, error) {
|
|
n := len(p)
|
|
atomic.AddUint64(&wc.count, uint64(n))
|
|
|
|
return n, nil
|
|
}
|
|
|
|
// Count returns the number of bytes written.
|
|
func (wc *WriteCounter) Count() uint64 {
|
|
return atomic.LoadUint64(&wc.count)
|
|
}
|