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

Function TestNewMemoryWriter

internal/caches/writer_memory_test.go:16–55  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

14)
15
16func TestNewMemoryWriter(t *testing.T) {
17 var storage = caches.NewMemoryStorage(&serverconfigs.HTTPCachePolicy{
18 Id: 0,
19 IsOn: false,
20 Name: "",
21 Description: "",
22 Capacity: &shared.SizeCapacity{
23 Count: 8,
24 Unit: shared.SizeCapacityUnitGB,
25 },
26 }, nil)
27 err := storage.Init()
28 if err != nil {
29 t.Fatal(err)
30 }
31
32 const size = 1 << 20
33 const chunkSize = 16 << 10
34 var data = bytes.Repeat([]byte{'A'}, chunkSize)
35
36 var before = time.Now()
37
38 var writer = caches.NewMemoryWriter(storage, "a", time.Now().Unix()+3600, 200, false, size, 1<<30, func(valueItem *caches.MemoryItem) {
39 t.Log(len(valueItem.BodyValue), "bytes")
40 })
41
42 for i := 0; i < size/chunkSize; i++ {
43 _, err = writer.Write(data)
44 if err != nil {
45 t.Fatal(err)
46 }
47 }
48
49 err = writer.Close()
50 if err != nil {
51 t.Fatal(err)
52 }
53
54 t.Log("cost:", time.Since(before).Seconds()*1000, "ms")
55}
56
57func BenchmarkMemoryWriter_Capacity(b *testing.B) {
58 b.ReportAllocs()

Callers

nothing calls this directly

Calls 7

NewMemoryStorageFunction · 0.92
NewMemoryWriterFunction · 0.92
UnixMethod · 0.80
LogMethod · 0.80
InitMethod · 0.65
WriteMethod · 0.65
CloseMethod · 0.65

Tested by

no test coverage detected