MCPcopy Create free account
hub / github.com/GoEdgeLab/EdgeNode / NewMemoryWriter

Function NewMemoryWriter

internal/caches/writer_memory.go:31–57  ·  view source on GitHub ↗
(memoryStorage *MemoryStorage, key string, expiredAt int64, status int, isDirty bool, expectedBodySize int64, maxSize int64, endFunc func(valueItem *MemoryItem))

Source from the content-addressed store, hash-verified

29}
30
31func NewMemoryWriter(memoryStorage *MemoryStorage, key string, expiredAt int64, status int, isDirty bool, expectedBodySize int64, maxSize int64, endFunc func(valueItem *MemoryItem)) *MemoryWriter {
32 var valueItem = &MemoryItem{
33 ExpiresAt: expiredAt,
34 ModifiedAt: fasttime.Now().Unix(),
35 Status: status,
36 }
37
38 if expectedBodySize > 0 {
39 valueItem.BodyValue = make([]byte, 0, expectedBodySize)
40 }
41
42 var w = &MemoryWriter{
43 storage: memoryStorage,
44 key: key,
45 expiredAt: expiredAt,
46 item: valueItem,
47 status: status,
48 isDirty: isDirty,
49 expectedBodySize: expectedBodySize,
50 maxSize: maxSize,
51 endFunc: endFunc,
52 }
53
54 w.hash = w.calculateHash(key)
55
56 return w
57}
58
59// WriteHeader 写入数据
60func (this *MemoryWriter) WriteHeader(data []byte) (n int, err error) {

Callers 4

TestNewMemoryWriterFunction · 0.92
openWriterMethod · 0.85

Calls 3

NowFunction · 0.92
UnixMethod · 0.80
calculateHashMethod · 0.80

Tested by 3

TestNewMemoryWriterFunction · 0.74