mirror of
https://github.com/number571/go-peer.git
synced 2026-09-14 11:05:42 +05:00
81 lines
1.3 KiB
Go
81 lines
1.3 KiB
Go
package logger
|
|
|
|
import (
|
|
"github.com/number571/go-peer/pkg/crypto/hashing"
|
|
)
|
|
|
|
var (
|
|
_ ILogBuilder = &sLogger{}
|
|
_ ILogGetter = &sLogger{}
|
|
)
|
|
|
|
type sLogger struct {
|
|
fService string
|
|
fType ILogType
|
|
fHash []byte
|
|
fProof uint64
|
|
fSize uint64
|
|
fConn string
|
|
}
|
|
|
|
func NewLogBuilder(pService string) ILogBuilder {
|
|
logger := &sLogger{
|
|
fService: pService,
|
|
fHash: make([]byte, hashing.CHasherSize),
|
|
}
|
|
return logger
|
|
}
|
|
|
|
func (p *sLogger) GetService() string {
|
|
return p.fService
|
|
}
|
|
|
|
func (p *sLogger) GetType() ILogType {
|
|
return p.fType
|
|
}
|
|
|
|
func (p *sLogger) GetHash() []byte {
|
|
return p.fHash
|
|
}
|
|
|
|
func (p *sLogger) GetSize() uint64 {
|
|
return p.fSize
|
|
}
|
|
|
|
func (p *sLogger) GetProof() uint64 {
|
|
return p.fProof
|
|
}
|
|
|
|
func (p *sLogger) GetConn() string {
|
|
return p.fConn
|
|
}
|
|
|
|
func (p *sLogger) Build() ILogGetter {
|
|
return p
|
|
}
|
|
|
|
func (p *sLogger) WithType(pType ILogType) ILogBuilder {
|
|
p.fType = pType
|
|
return p
|
|
}
|
|
|
|
func (p *sLogger) WithHash(pHash []byte) ILogBuilder {
|
|
p.fHash = pHash
|
|
return p
|
|
}
|
|
|
|
func (p *sLogger) WithProof(pProof uint64) ILogBuilder {
|
|
p.fProof = pProof
|
|
return p
|
|
}
|
|
|
|
func (p *sLogger) WithSize(pSize int) ILogBuilder {
|
|
p.fSize = uint64(pSize) //nolint:gosec
|
|
return p
|
|
}
|
|
|
|
func (p *sLogger) WithConn(pConn string) ILogBuilder {
|
|
p.fConn = pConn
|
|
return p
|
|
}
|