Renamed 'server' package to 'echovault'

This commit is contained in:
Kelvin Mwinuka
2024-03-25 16:26:09 +08:00
parent 93cfb9caeb
commit ba2ebaa6da
23 changed files with 524 additions and 524 deletions

View File

@@ -2,7 +2,7 @@ FROM --platform=linux/amd64 alpine:latest
RUN mkdir -p /usr/local/lib/echovault RUN mkdir -p /usr/local/lib/echovault
RUN mkdir -p /opt/echovault/bin RUN mkdir -p /opt/echovault/bin
RUN mkdir -p /etc/ssl/certs/echovault/server RUN mkdir -p /etc/ssl/certs/echovault/echovault
RUN mkdir -p /etc/ssl/certs/echovault/client RUN mkdir -p /etc/ssl/certs/echovault/client
COPY ./bin/linux/x86_64/server /opt/echovault/bin COPY ./bin/linux/x86_64/server /opt/echovault/bin
@@ -36,7 +36,7 @@ CMD "./server" \
"--restore-snapshot=${RESTORE_SNAPSHOT}" \ "--restore-snapshot=${RESTORE_SNAPSHOT}" \
"--restore-aof=${RESTORE_AOF}" \ "--restore-aof=${RESTORE_AOF}" \
"--aof-sync-strategy=${AOF_SYNC_STRATEGY}" \ "--aof-sync-strategy=${AOF_SYNC_STRATEGY}" \
# List of server cert/key pairs # List of echovault cert/key pairs
"--cert-key-pair=${CERT_KEY_PAIR_1}" \ "--cert-key-pair=${CERT_KEY_PAIR_1}" \
"--cert-key-pair=${CERT_KEY_PAIR_2}" \ "--cert-key-pair=${CERT_KEY_PAIR_2}" \
# List of client certs # List of client certs

View File

@@ -1,10 +1,4 @@
mode: set mode: set
github.com/echovault/echovault/src/modules/connection/commands.go:25.108,26.18 1 1
github.com/echovault/echovault/src/modules/connection/commands.go:27.10,28.50 1 1
github.com/echovault/echovault/src/modules/connection/commands.go:29.9,30.34 1 1
github.com/echovault/echovault/src/modules/connection/commands.go:31.9,32.72 1 1
github.com/echovault/echovault/src/modules/connection/commands.go:36.33,43.60 1 0
github.com/echovault/echovault/src/modules/connection/commands.go:43.60,45.5 1 0
github.com/echovault/echovault/src/modules/hash/commands.go:29.105,31.16 2 1 github.com/echovault/echovault/src/modules/hash/commands.go:29.105,31.16 2 1
github.com/echovault/echovault/src/modules/hash/commands.go:31.16,33.3 1 1 github.com/echovault/echovault/src/modules/hash/commands.go:31.16,33.3 1 1
github.com/echovault/echovault/src/modules/hash/commands.go:35.2,38.25 3 1 github.com/echovault/echovault/src/modules/hash/commands.go:35.2,38.25 3 1
@@ -127,7 +121,7 @@ github.com/echovault/echovault/src/modules/hash/commands.go:324.38,326.17 2 1
github.com/echovault/echovault/src/modules/hash/commands.go:326.17,327.41 1 1 github.com/echovault/echovault/src/modules/hash/commands.go:326.17,327.41 1 1
github.com/echovault/echovault/src/modules/hash/commands.go:327.41,329.13 2 1 github.com/echovault/echovault/src/modules/hash/commands.go:327.41,329.13 2 1
github.com/echovault/echovault/src/modules/hash/commands.go:331.4,331.42 1 1 github.com/echovault/echovault/src/modules/hash/commands.go:331.4,331.42 1 1
github.com/echovault/echovault/src/modules/hash/commands.go:331.42,334.13 3 0 github.com/echovault/echovault/src/modules/hash/commands.go:331.42,334.13 3 1
github.com/echovault/echovault/src/modules/hash/commands.go:336.4,336.38 1 1 github.com/echovault/echovault/src/modules/hash/commands.go:336.4,336.38 1 1
github.com/echovault/echovault/src/modules/hash/commands.go:336.38,338.13 2 1 github.com/echovault/echovault/src/modules/hash/commands.go:336.38,338.13 2 1
github.com/echovault/echovault/src/modules/hash/commands.go:343.2,343.25 1 1 github.com/echovault/echovault/src/modules/hash/commands.go:343.2,343.25 1 1
@@ -269,6 +263,225 @@ github.com/echovault/echovault/src/modules/hash/key_funcs.go:99.2,99.22 1 1
github.com/echovault/echovault/src/modules/hash/key_funcs.go:102.50,103.18 1 1 github.com/echovault/echovault/src/modules/hash/key_funcs.go:102.50,103.18 1 1
github.com/echovault/echovault/src/modules/hash/key_funcs.go:103.18,105.3 1 1 github.com/echovault/echovault/src/modules/hash/key_funcs.go:103.18,105.3 1 1
github.com/echovault/echovault/src/modules/hash/key_funcs.go:106.2,106.22 1 1 github.com/echovault/echovault/src/modules/hash/key_funcs.go:106.2,106.22 1 1
github.com/echovault/echovault/src/modules/list/commands.go:28.105,30.16 2 1
github.com/echovault/echovault/src/modules/list/commands.go:30.16,32.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:34.2,36.33 2 1
github.com/echovault/echovault/src/modules/list/commands.go:36.33,39.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:41.2,41.52 1 1
github.com/echovault/echovault/src/modules/list/commands.go:41.52,43.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:44.2,46.63 2 1
github.com/echovault/echovault/src/modules/list/commands.go:46.63,48.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:50.2,50.57 1 1
github.com/echovault/echovault/src/modules/list/commands.go:53.110,55.16 2 1
github.com/echovault/echovault/src/modules/list/commands.go:55.16,57.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:59.2,62.9 3 1
github.com/echovault/echovault/src/modules/list/commands.go:62.9,64.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:66.2,66.33 1 1
github.com/echovault/echovault/src/modules/list/commands.go:66.33,68.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:70.2,70.52 1 1
github.com/echovault/echovault/src/modules/list/commands.go:70.52,72.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:73.2,76.9 3 1
github.com/echovault/echovault/src/modules/list/commands.go:76.9,78.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:80.2,80.40 1 1
github.com/echovault/echovault/src/modules/list/commands.go:80.40,82.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:84.2,84.57 1 1
github.com/echovault/echovault/src/modules/list/commands.go:87.110,89.16 2 1
github.com/echovault/echovault/src/modules/list/commands.go:89.16,91.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:93.2,97.24 4 1
github.com/echovault/echovault/src/modules/list/commands.go:97.24,99.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:101.2,101.33 1 1
github.com/echovault/echovault/src/modules/list/commands.go:101.33,103.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:105.2,105.52 1 1
github.com/echovault/echovault/src/modules/list/commands.go:105.52,107.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:108.2,111.9 3 1
github.com/echovault/echovault/src/modules/list/commands.go:111.9,113.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:116.2,116.40 1 1
github.com/echovault/echovault/src/modules/list/commands.go:116.40,118.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:121.2,121.51 1 1
github.com/echovault/echovault/src/modules/list/commands.go:121.51,123.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:125.2,128.15 2 1
github.com/echovault/echovault/src/modules/list/commands.go:128.15,130.43 2 1
github.com/echovault/echovault/src/modules/list/commands.go:130.43,133.4 2 1
github.com/echovault/echovault/src/modules/list/commands.go:134.3,134.20 1 1
github.com/echovault/echovault/src/modules/list/commands.go:138.2,138.18 1 1
github.com/echovault/echovault/src/modules/list/commands.go:138.18,140.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:145.2,149.17 4 1
github.com/echovault/echovault/src/modules/list/commands.go:149.17,151.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:153.2,153.13 1 1
github.com/echovault/echovault/src/modules/list/commands.go:153.13,156.18 3 1
github.com/echovault/echovault/src/modules/list/commands.go:156.18,158.4 1 1
github.com/echovault/echovault/src/modules/list/commands.go:158.9,160.4 1 1
github.com/echovault/echovault/src/modules/list/commands.go:163.2,163.19 1 1
github.com/echovault/echovault/src/modules/list/commands.go:166.108,168.16 2 1
github.com/echovault/echovault/src/modules/list/commands.go:168.16,170.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:172.2,175.9 3 1
github.com/echovault/echovault/src/modules/list/commands.go:175.9,177.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:179.2,179.33 1 1
github.com/echovault/echovault/src/modules/list/commands.go:179.33,181.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:183.2,183.51 1 1
github.com/echovault/echovault/src/modules/list/commands.go:183.51,185.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:186.2,189.9 3 1
github.com/echovault/echovault/src/modules/list/commands.go:189.9,191.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:193.2,193.40 1 1
github.com/echovault/echovault/src/modules/list/commands.go:193.40,195.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:197.2,198.55 2 1
github.com/echovault/echovault/src/modules/list/commands.go:198.55,200.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:202.2,202.38 1 1
github.com/echovault/echovault/src/modules/list/commands.go:205.109,207.16 2 1
github.com/echovault/echovault/src/modules/list/commands.go:207.16,209.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:211.2,215.24 4 1
github.com/echovault/echovault/src/modules/list/commands.go:215.24,217.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:219.2,219.30 1 1
github.com/echovault/echovault/src/modules/list/commands.go:219.30,221.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:223.2,223.33 1 1
github.com/echovault/echovault/src/modules/list/commands.go:223.33,225.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:227.2,227.51 1 1
github.com/echovault/echovault/src/modules/list/commands.go:227.51,229.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:230.2,233.9 3 1
github.com/echovault/echovault/src/modules/list/commands.go:233.9,235.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:237.2,237.40 1 1
github.com/echovault/echovault/src/modules/list/commands.go:237.40,239.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:241.2,241.34 1 1
github.com/echovault/echovault/src/modules/list/commands.go:241.34,242.64 1 1
github.com/echovault/echovault/src/modules/list/commands.go:242.64,244.4 1 0
github.com/echovault/echovault/src/modules/list/commands.go:245.3,245.39 1 1
github.com/echovault/echovault/src/modules/list/commands.go:248.2,248.66 1 1
github.com/echovault/echovault/src/modules/list/commands.go:248.66,250.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:251.2,251.38 1 1
github.com/echovault/echovault/src/modules/list/commands.go:254.108,256.16 2 1
github.com/echovault/echovault/src/modules/list/commands.go:256.16,258.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:260.2,264.9 4 1
github.com/echovault/echovault/src/modules/list/commands.go:264.9,266.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:268.2,270.33 2 1
github.com/echovault/echovault/src/modules/list/commands.go:270.33,272.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:274.2,274.51 1 1
github.com/echovault/echovault/src/modules/list/commands.go:274.51,276.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:277.2,280.9 3 1
github.com/echovault/echovault/src/modules/list/commands.go:280.9,282.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:284.2,284.9 1 1
github.com/echovault/echovault/src/modules/list/commands.go:285.10,285.10 0 0
github.com/echovault/echovault/src/modules/list/commands.go:287.17,289.34 1 1
github.com/echovault/echovault/src/modules/list/commands.go:289.34,290.26 1 1
github.com/echovault/echovault/src/modules/list/commands.go:290.26,291.10 1 1
github.com/echovault/echovault/src/modules/list/commands.go:293.4,293.43 1 1
github.com/echovault/echovault/src/modules/list/commands.go:293.43,296.5 2 1
github.com/echovault/echovault/src/modules/list/commands.go:298.17,300.39 1 1
github.com/echovault/echovault/src/modules/list/commands.go:300.39,301.26 1 1
github.com/echovault/echovault/src/modules/list/commands.go:301.26,302.10 1 1
github.com/echovault/echovault/src/modules/list/commands.go:304.4,304.43 1 1
github.com/echovault/echovault/src/modules/list/commands.go:304.43,307.5 2 1
github.com/echovault/echovault/src/modules/list/commands.go:311.2,311.61 1 1
github.com/echovault/echovault/src/modules/list/commands.go:311.61,313.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:315.2,315.55 1 1
github.com/echovault/echovault/src/modules/list/commands.go:315.55,317.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:319.2,319.38 1 1
github.com/echovault/echovault/src/modules/list/commands.go:322.109,324.16 2 1
github.com/echovault/echovault/src/modules/list/commands.go:324.16,326.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:328.2,333.116 5 1
github.com/echovault/echovault/src/modules/list/commands.go:333.116,335.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:337.2,337.75 1 1
github.com/echovault/echovault/src/modules/list/commands.go:337.75,339.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:341.2,341.54 1 1
github.com/echovault/echovault/src/modules/list/commands.go:341.54,343.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:344.2,347.16 3 1
github.com/echovault/echovault/src/modules/list/commands.go:347.16,349.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:350.2,355.33 4 1
github.com/echovault/echovault/src/modules/list/commands.go:355.33,357.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:359.2,359.19 1 1
github.com/echovault/echovault/src/modules/list/commands.go:360.14,362.24 2 1
github.com/echovault/echovault/src/modules/list/commands.go:362.24,364.4 1 1
github.com/echovault/echovault/src/modules/list/commands.go:364.9,364.32 1 1
github.com/echovault/echovault/src/modules/list/commands.go:364.32,366.4 1 1
github.com/echovault/echovault/src/modules/list/commands.go:367.15,369.24 2 1
github.com/echovault/echovault/src/modules/list/commands.go:369.24,371.4 1 1
github.com/echovault/echovault/src/modules/list/commands.go:371.9,371.32 1 1
github.com/echovault/echovault/src/modules/list/commands.go:371.32,373.4 1 1
github.com/echovault/echovault/src/modules/list/commands.go:376.2,376.16 1 1
github.com/echovault/echovault/src/modules/list/commands.go:376.16,378.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:380.2,380.38 1 1
github.com/echovault/echovault/src/modules/list/commands.go:383.109,385.16 2 1
github.com/echovault/echovault/src/modules/list/commands.go:385.16,387.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:389.2,391.31 2 1
github.com/echovault/echovault/src/modules/list/commands.go:391.31,393.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:395.2,397.33 2 1
github.com/echovault/echovault/src/modules/list/commands.go:397.33,398.34 1 1
github.com/echovault/echovault/src/modules/list/commands.go:399.17,400.61 1 1
github.com/echovault/echovault/src/modules/list/commands.go:401.11,402.62 1 1
github.com/echovault/echovault/src/modules/list/commands.go:402.62,404.5 1 0
github.com/echovault/echovault/src/modules/list/commands.go:405.4,405.68 1 1
github.com/echovault/echovault/src/modules/list/commands.go:405.68,407.5 1 0
github.com/echovault/echovault/src/modules/list/commands.go:409.8,410.52 1 1
github.com/echovault/echovault/src/modules/list/commands.go:410.52,412.4 1 0
github.com/echovault/echovault/src/modules/list/commands.go:414.2,419.9 4 1
github.com/echovault/echovault/src/modules/list/commands.go:419.9,421.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:423.2,423.73 1 1
github.com/echovault/echovault/src/modules/list/commands.go:423.73,425.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:426.2,426.38 1 1
github.com/echovault/echovault/src/modules/list/commands.go:429.109,431.16 2 1
github.com/echovault/echovault/src/modules/list/commands.go:431.16,433.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:435.2,439.31 3 1
github.com/echovault/echovault/src/modules/list/commands.go:439.31,441.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:443.2,443.33 1 1
github.com/echovault/echovault/src/modules/list/commands.go:443.33,444.34 1 1
github.com/echovault/echovault/src/modules/list/commands.go:445.17,446.61 1 1
github.com/echovault/echovault/src/modules/list/commands.go:447.11,448.62 1 1
github.com/echovault/echovault/src/modules/list/commands.go:448.62,450.5 1 0
github.com/echovault/echovault/src/modules/list/commands.go:451.4,452.68 2 1
github.com/echovault/echovault/src/modules/list/commands.go:452.68,454.5 1 0
github.com/echovault/echovault/src/modules/list/commands.go:456.8,457.52 1 1
github.com/echovault/echovault/src/modules/list/commands.go:457.52,459.4 1 0
github.com/echovault/echovault/src/modules/list/commands.go:460.3,460.35 1 1
github.com/echovault/echovault/src/modules/list/commands.go:463.2,467.9 3 1
github.com/echovault/echovault/src/modules/list/commands.go:467.9,469.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:471.2,471.73 1 1
github.com/echovault/echovault/src/modules/list/commands.go:471.73,473.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:474.2,474.38 1 1
github.com/echovault/echovault/src/modules/list/commands.go:477.107,479.16 2 1
github.com/echovault/echovault/src/modules/list/commands.go:479.16,481.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:483.2,485.33 2 1
github.com/echovault/echovault/src/modules/list/commands.go:485.33,487.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:489.2,489.51 1 1
github.com/echovault/echovault/src/modules/list/commands.go:489.51,491.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:492.2,495.9 3 1
github.com/echovault/echovault/src/modules/list/commands.go:495.9,497.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:499.2,499.33 1 1
github.com/echovault/echovault/src/modules/list/commands.go:500.10,501.60 1 1
github.com/echovault/echovault/src/modules/list/commands.go:501.60,503.4 1 0
github.com/echovault/echovault/src/modules/list/commands.go:504.3,504.54 1 1
github.com/echovault/echovault/src/modules/list/commands.go:505.14,506.70 1 1
github.com/echovault/echovault/src/modules/list/commands.go:506.70,508.4 1 0
github.com/echovault/echovault/src/modules/list/commands.go:509.3,509.64 1 1
github.com/echovault/echovault/src/modules/list/commands.go:513.33,620.2 1 0
github.com/echovault/echovault/src/modules/list/key_funcs.go:22.51,23.18 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:23.18,25.3 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:26.2,26.30 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:29.49,30.19 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:30.19,32.3 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:33.2,33.30 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:36.50,37.19 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:37.19,39.3 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:40.2,40.30 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:43.52,44.19 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:44.19,46.3 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:47.2,47.30 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:50.52,51.19 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:51.19,53.3 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:54.2,54.30 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:57.50,58.19 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:58.19,60.3 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:61.2,61.30 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:64.51,65.19 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:65.19,67.3 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:68.2,68.30 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:71.50,72.19 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:72.19,74.3 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:75.2,75.30 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:78.51,79.18 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:79.18,81.3 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:82.2,82.30 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:85.51,86.19 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:86.19,88.3 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:89.2,89.38 1 1
github.com/echovault/echovault/src/modules/acl/acl.go:50.39,55.24 3 1 github.com/echovault/echovault/src/modules/acl/acl.go:50.39,55.24 3 1
github.com/echovault/echovault/src/modules/acl/acl.go:55.24,63.3 2 1 github.com/echovault/echovault/src/modules/acl/acl.go:55.24,63.3 2 1
github.com/echovault/echovault/src/modules/acl/acl.go:66.2,66.28 1 1 github.com/echovault/echovault/src/modules/acl/acl.go:66.2,66.28 1 1
@@ -706,6 +919,73 @@ github.com/echovault/echovault/src/modules/acl/user.go:289.40,304.2 1 1
github.com/echovault/echovault/src/modules/acl/user.go:306.46,307.24 1 1 github.com/echovault/echovault/src/modules/acl/user.go:306.46,307.24 1 1
github.com/echovault/echovault/src/modules/acl/user.go:307.24,309.3 1 1 github.com/echovault/echovault/src/modules/acl/user.go:307.24,309.3 1 1
github.com/echovault/echovault/src/modules/acl/user.go:310.2,310.26 1 1 github.com/echovault/echovault/src/modules/acl/user.go:310.2,310.26 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:28.115,34.29 4 1
github.com/echovault/echovault/src/modules/admin/commands.go:34.29,35.54 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:35.54,41.42 4 1
github.com/echovault/echovault/src/modules/admin/commands.go:41.42,43.5 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:45.4,48.12 3 1
github.com/echovault/echovault/src/modules/admin/commands.go:51.3,51.36 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:51.36,58.43 5 1
github.com/echovault/echovault/src/modules/admin/commands.go:58.43,60.5 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:62.4,64.21 2 1
github.com/echovault/echovault/src/modules/admin/commands.go:68.2,70.25 2 1
github.com/echovault/echovault/src/modules/admin/commands.go:73.109,77.35 3 0
github.com/echovault/echovault/src/modules/admin/commands.go:77.35,78.65 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:78.65,79.41 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:79.41,81.5 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:82.4,82.12 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:84.3,84.13 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:87.2,87.51 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:90.112,91.18 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:92.9,97.36 4 0
github.com/echovault/echovault/src/modules/admin/commands.go:97.36,98.66 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:98.66,99.52 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:99.52,103.6 3 0
github.com/echovault/echovault/src/modules/admin/commands.go:104.5,104.13 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:106.4,107.14 2 0
github.com/echovault/echovault/src/modules/admin/commands.go:109.3,110.26 2 0
github.com/echovault/echovault/src/modules/admin/commands.go:112.9,116.45 3 0
github.com/echovault/echovault/src/modules/admin/commands.go:116.45,118.4 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:119.3,119.42 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:119.42,123.37 3 0
github.com/echovault/echovault/src/modules/admin/commands.go:123.37,124.67 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:124.67,125.53 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:125.53,126.59 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:126.59,130.8 3 0
github.com/echovault/echovault/src/modules/admin/commands.go:132.6,132.14 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:134.5,134.54 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:134.54,137.6 2 0
github.com/echovault/echovault/src/modules/admin/commands.go:139.9,139.50 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:139.50,143.37 3 0
github.com/echovault/echovault/src/modules/admin/commands.go:143.37,144.67 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:144.67,145.53 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:145.53,147.24 2 0
github.com/echovault/echovault/src/modules/admin/commands.go:147.24,150.8 2 0
github.com/echovault/echovault/src/modules/admin/commands.go:152.6,152.14 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:154.5,154.33 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:154.33,157.6 2 0
github.com/echovault/echovault/src/modules/admin/commands.go:159.9,161.4 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:162.3,163.26 2 0
github.com/echovault/echovault/src/modules/admin/commands.go:164.10,165.50 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:169.112,171.2 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:173.33,180.60 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:180.60,180.86 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:188.60,190.5 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:197.62,197.88 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:205.62,205.88 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:214.62,214.88 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:224.60,226.5 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:227.113,228.49 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:228.49,230.6 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:231.5,231.41 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:239.60,241.5 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:242.113,244.18 2 0
github.com/echovault/echovault/src/modules/admin/commands.go:244.18,246.6 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:247.5,247.53 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:255.60,257.5 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:258.113,259.47 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:259.47,261.6 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:262.5,262.41 1 0
github.com/echovault/echovault/src/modules/generic/commands.go:32.13,33.34 1 1 github.com/echovault/echovault/src/modules/generic/commands.go:32.13,33.34 1 1
github.com/echovault/echovault/src/modules/generic/commands.go:33.34,37.3 2 1 github.com/echovault/echovault/src/modules/generic/commands.go:33.34,37.3 2 1
github.com/echovault/echovault/src/modules/generic/commands.go:39.2,40.29 2 0 github.com/echovault/echovault/src/modules/generic/commands.go:39.2,40.29 2 0
@@ -960,292 +1240,155 @@ github.com/echovault/echovault/src/modules/generic/utils.go:106.3,108.17 3 1
github.com/echovault/echovault/src/modules/generic/utils.go:108.17,110.4 1 1 github.com/echovault/echovault/src/modules/generic/utils.go:108.17,110.4 1 1
github.com/echovault/echovault/src/modules/generic/utils.go:111.3,112.46 2 1 github.com/echovault/echovault/src/modules/generic/utils.go:111.3,112.46 2 1
github.com/echovault/echovault/src/modules/generic/utils.go:114.10,115.95 1 1 github.com/echovault/echovault/src/modules/generic/utils.go:114.10,115.95 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:28.115,34.29 4 1 github.com/echovault/echovault/src/modules/connection/commands.go:25.108,26.18 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:34.29,35.54 1 1 github.com/echovault/echovault/src/modules/connection/commands.go:27.10,28.50 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:35.54,41.42 4 1 github.com/echovault/echovault/src/modules/connection/commands.go:29.9,30.34 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:41.42,43.5 1 1 github.com/echovault/echovault/src/modules/connection/commands.go:31.9,32.72 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:45.4,48.12 3 1 github.com/echovault/echovault/src/modules/connection/commands.go:36.33,43.60 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:51.3,51.36 1 1 github.com/echovault/echovault/src/modules/connection/commands.go:43.60,45.5 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:51.36,58.43 5 1 github.com/echovault/echovault/src/modules/pubsub/channel.go:36.51,37.32 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:58.43,60.5 1 1 github.com/echovault/echovault/src/modules/pubsub/channel.go:37.32,39.3 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:62.4,64.21 2 1 github.com/echovault/echovault/src/modules/pubsub/channel.go:42.57,43.32 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:68.2,70.25 2 1 github.com/echovault/echovault/src/modules/pubsub/channel.go:43.32,46.3 2 1
github.com/echovault/echovault/src/modules/admin/commands.go:73.109,77.35 3 0 github.com/echovault/echovault/src/modules/pubsub/channel.go:49.61,60.33 3 1
github.com/echovault/echovault/src/modules/admin/commands.go:77.35,78.65 1 0 github.com/echovault/echovault/src/modules/pubsub/channel.go:60.33,62.3 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:78.65,79.41 1 0 github.com/echovault/echovault/src/modules/pubsub/channel.go:64.2,64.16 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:79.41,81.5 1 0 github.com/echovault/echovault/src/modules/pubsub/channel.go:67.28,68.12 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:82.4,82.12 1 0 github.com/echovault/echovault/src/modules/pubsub/channel.go:68.12,69.7 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:84.3,84.13 1 0 github.com/echovault/echovault/src/modules/pubsub/channel.go:69.7,74.40 3 1
github.com/echovault/echovault/src/modules/admin/commands.go:87.2,87.51 1 0 github.com/echovault/echovault/src/modules/pubsub/channel.go:74.40,75.30 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:90.112,91.18 1 0 github.com/echovault/echovault/src/modules/pubsub/channel.go:75.30,80.21 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:92.9,97.36 4 0 github.com/echovault/echovault/src/modules/pubsub/channel.go:80.21,82.7 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:97.36,98.66 1 0 github.com/echovault/echovault/src/modules/pubsub/channel.go:86.4,86.33 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:98.66,99.52 1 0 github.com/echovault/echovault/src/modules/pubsub/channel.go:91.51,94.40 3 1
github.com/echovault/echovault/src/modules/admin/commands.go:99.52,103.6 3 0 github.com/echovault/echovault/src/modules/pubsub/channel.go:94.40,96.3 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:104.5,104.13 1 0 github.com/echovault/echovault/src/modules/pubsub/channel.go:97.2,98.11 2 1
github.com/echovault/echovault/src/modules/admin/commands.go:106.4,107.14 2 0 github.com/echovault/echovault/src/modules/pubsub/channel.go:101.53,104.40 3 1
github.com/echovault/echovault/src/modules/admin/commands.go:109.3,110.26 2 0 github.com/echovault/echovault/src/modules/pubsub/channel.go:104.40,106.3 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:112.9,116.45 3 0 github.com/echovault/echovault/src/modules/pubsub/channel.go:107.2,108.13 2 1
github.com/echovault/echovault/src/modules/admin/commands.go:116.45,118.4 1 0 github.com/echovault/echovault/src/modules/pubsub/channel.go:111.44,113.2 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:119.3,119.42 1 0 github.com/echovault/echovault/src/modules/pubsub/channel.go:115.36,119.2 3 1
github.com/echovault/echovault/src/modules/admin/commands.go:119.42,123.37 3 0 github.com/echovault/echovault/src/modules/pubsub/channel.go:121.34,125.2 3 1
github.com/echovault/echovault/src/modules/admin/commands.go:123.37,124.67 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:26.113,28.9 2 1
github.com/echovault/echovault/src/modules/admin/commands.go:124.67,125.53 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:28.9,30.3 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:125.53,126.59 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:32.2,34.24 2 1
github.com/echovault/echovault/src/modules/admin/commands.go:126.59,130.8 3 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:34.24,36.3 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:132.6,132.14 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:38.2,41.17 3 1
github.com/echovault/echovault/src/modules/admin/commands.go:134.5,134.54 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:44.115,46.9 2 1
github.com/echovault/echovault/src/modules/admin/commands.go:134.54,137.6 2 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:46.9,48.3 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:139.9,139.50 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:50.2,54.66 3 1
github.com/echovault/echovault/src/modules/admin/commands.go:139.50,143.37 3 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:57.108,59.9 2 1
github.com/echovault/echovault/src/modules/admin/commands.go:143.37,144.67 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:59.9,61.3 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:144.67,145.53 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:62.2,62.19 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:145.53,147.24 2 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:62.19,64.3 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:147.24,150.8 2 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:65.2,66.38 2 1
github.com/echovault/echovault/src/modules/admin/commands.go:152.6,152.14 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:69.113,70.18 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:154.5,154.33 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:70.18,72.3 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:154.33,157.6 2 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:74.2,75.9 2 1
github.com/echovault/echovault/src/modules/admin/commands.go:159.9,161.4 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:75.9,77.3 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:162.3,163.26 2 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:79.2,80.19 2 1
github.com/echovault/echovault/src/modules/admin/commands.go:164.10,165.50 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:80.19,82.3 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:169.112,171.2 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:84.2,84.38 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:173.33,180.60 1 1 github.com/echovault/echovault/src/modules/pubsub/commands.go:87.109,89.9 2 1
github.com/echovault/echovault/src/modules/admin/commands.go:180.60,180.86 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:89.9,91.3 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:188.60,190.5 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:92.2,93.49 2 1
github.com/echovault/echovault/src/modules/admin/commands.go:197.62,197.88 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:96.112,98.9 2 1
github.com/echovault/echovault/src/modules/admin/commands.go:205.62,205.88 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:98.9,100.3 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:214.62,214.88 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:101.2,101.36 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:224.60,226.5 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:104.33,111.60 1 1
github.com/echovault/echovault/src/modules/admin/commands.go:227.113,228.49 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:111.60,113.21 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:228.49,230.6 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:113.21,115.6 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:231.5,231.41 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:116.5,116.24 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:239.60,241.5 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:125.60,127.21 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:242.113,244.18 2 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:127.21,129.6 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:244.18,246.6 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:130.5,130.24 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:247.5,247.53 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:139.60,141.22 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:255.60,257.5 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:141.22,143.6 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:258.113,259.47 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:144.5,144.33 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:259.47,261.6 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:155.60,158.5 1 0
github.com/echovault/echovault/src/modules/admin/commands.go:262.5,262.41 1 0 github.com/echovault/echovault/src/modules/pubsub/commands.go:168.60,171.5 1 0
github.com/echovault/echovault/src/modules/list/commands.go:28.105,30.16 2 1 github.com/echovault/echovault/src/modules/pubsub/commands.go:179.60,179.86 1 0
github.com/echovault/echovault/src/modules/list/commands.go:30.16,32.3 1 1 github.com/echovault/echovault/src/modules/pubsub/commands.go:180.101,182.5 1 0
github.com/echovault/echovault/src/modules/list/commands.go:34.2,36.33 2 1 github.com/echovault/echovault/src/modules/pubsub/commands.go:191.62,191.88 1 0
github.com/echovault/echovault/src/modules/list/commands.go:36.33,39.3 1 1 github.com/echovault/echovault/src/modules/pubsub/commands.go:199.62,199.88 1 0
github.com/echovault/echovault/src/modules/list/commands.go:41.2,41.52 1 1 github.com/echovault/echovault/src/modules/pubsub/commands.go:208.62,208.85 1 0
github.com/echovault/echovault/src/modules/list/commands.go:41.52,43.3 1 0 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:34.26,39.2 1 1
github.com/echovault/echovault/src/modules/list/commands.go:44.2,46.63 2 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:41.101,48.17 5 1
github.com/echovault/echovault/src/modules/list/commands.go:46.63,48.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:48.17,50.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:50.2,50.57 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:52.2,52.37 1 1
github.com/echovault/echovault/src/modules/list/commands.go:53.110,55.16 2 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:52.37,56.75 1 1
github.com/echovault/echovault/src/modules/list/commands.go:55.16,57.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:56.75,58.4 1 1
github.com/echovault/echovault/src/modules/list/commands.go:59.2,62.9 3 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:60.3,60.23 1 1
github.com/echovault/echovault/src/modules/list/commands.go:62.9,64.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:60.23,63.19 2 1
github.com/echovault/echovault/src/modules/list/commands.go:66.2,66.33 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:63.19,65.5 1 1
github.com/echovault/echovault/src/modules/list/commands.go:66.33,68.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:65.10,67.5 1 1
github.com/echovault/echovault/src/modules/list/commands.go:70.2,70.52 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:68.4,69.31 2 1
github.com/echovault/echovault/src/modules/list/commands.go:70.52,72.3 1 0 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:69.31,74.20 1 1
github.com/echovault/echovault/src/modules/list/commands.go:73.2,76.9 3 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:74.20,76.6 1 0
github.com/echovault/echovault/src/modules/list/commands.go:76.9,78.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:78.4,78.46 1 1
github.com/echovault/echovault/src/modules/list/commands.go:80.2,80.40 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:79.9,81.47 1 1
github.com/echovault/echovault/src/modules/list/commands.go:80.40,82.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:81.47,86.20 1 1
github.com/echovault/echovault/src/modules/list/commands.go:84.2,84.57 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:86.20,88.6 1 0
github.com/echovault/echovault/src/modules/list/commands.go:87.110,89.16 2 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:94.112,99.17 4 1
github.com/echovault/echovault/src/modules/list/commands.go:89.16,91.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:99.17,101.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:93.2,97.24 4 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:103.2,106.24 3 1
github.com/echovault/echovault/src/modules/list/commands.go:97.24,99.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:106.24,107.19 1 1
github.com/echovault/echovault/src/modules/list/commands.go:101.2,101.33 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:107.19,110.40 1 1
github.com/echovault/echovault/src/modules/list/commands.go:101.33,103.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:110.40,111.31 1 1
github.com/echovault/echovault/src/modules/list/commands.go:105.2,105.52 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:111.31,112.14 1 1
github.com/echovault/echovault/src/modules/list/commands.go:105.52,107.3 1 0 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:114.5,114.34 1 1
github.com/echovault/echovault/src/modules/list/commands.go:108.2,111.9 3 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:114.34,117.6 2 1
github.com/echovault/echovault/src/modules/list/commands.go:111.9,113.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:119.9,122.40 1 1
github.com/echovault/echovault/src/modules/list/commands.go:116.2,116.40 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:122.40,123.31 1 1
github.com/echovault/echovault/src/modules/list/commands.go:116.40,118.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:123.31,124.14 1 1
github.com/echovault/echovault/src/modules/list/commands.go:121.2,121.51 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:126.5,126.34 1 1
github.com/echovault/echovault/src/modules/list/commands.go:121.51,123.3 1 0 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:126.34,129.6 2 1
github.com/echovault/echovault/src/modules/list/commands.go:125.2,128.15 2 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:137.2,137.38 1 1
github.com/echovault/echovault/src/modules/list/commands.go:128.15,130.43 2 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:137.38,138.30 1 1
github.com/echovault/echovault/src/modules/list/commands.go:130.43,133.4 2 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:138.30,139.54 1 1
github.com/echovault/echovault/src/modules/list/commands.go:134.3,134.20 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:139.54,142.5 2 1
github.com/echovault/echovault/src/modules/list/commands.go:138.2,138.18 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:148.2,148.17 1 1
github.com/echovault/echovault/src/modules/list/commands.go:138.18,140.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:148.17,149.36 1 1
github.com/echovault/echovault/src/modules/list/commands.go:145.2,149.17 4 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:149.36,151.40 2 1
github.com/echovault/echovault/src/modules/list/commands.go:149.17,151.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:151.40,153.58 1 1
github.com/echovault/echovault/src/modules/list/commands.go:153.2,153.13 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:153.58,154.35 1 1
github.com/echovault/echovault/src/modules/list/commands.go:153.13,156.18 3 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:154.35,157.7 2 0
github.com/echovault/echovault/src/modules/list/commands.go:156.18,158.4 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:158.6,158.14 1 1
github.com/echovault/echovault/src/modules/list/commands.go:158.9,160.4 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:161.5,161.30 1 1
github.com/echovault/echovault/src/modules/list/commands.go:163.2,163.19 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:161.30,162.35 1 0
github.com/echovault/echovault/src/modules/list/commands.go:166.108,168.16 2 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:162.35,165.7 2 0
github.com/echovault/echovault/src/modules/list/commands.go:168.16,170.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:171.2,172.39 2 1
github.com/echovault/echovault/src/modules/list/commands.go:172.2,175.9 3 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:172.39,174.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:175.9,177.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:176.2,176.20 1 1
github.com/echovault/echovault/src/modules/list/commands.go:179.2,179.33 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:179.84,183.38 3 1
github.com/echovault/echovault/src/modules/list/commands.go:179.33,181.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:183.38,185.29 1 1
github.com/echovault/echovault/src/modules/list/commands.go:183.2,183.51 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:185.29,186.35 1 1
github.com/echovault/echovault/src/modules/list/commands.go:183.51,185.3 1 0 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:186.35,188.5 1 1
github.com/echovault/echovault/src/modules/list/commands.go:186.2,189.9 3 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:189.4,189.12 1 1
github.com/echovault/echovault/src/modules/list/commands.go:189.9,191.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:192.3,192.41 1 1
github.com/echovault/echovault/src/modules/list/commands.go:193.2,193.40 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:192.41,194.4 1 1
github.com/echovault/echovault/src/modules/list/commands.go:193.40,195.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:198.51,205.19 5 1
github.com/echovault/echovault/src/modules/list/commands.go:197.2,198.55 2 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:205.19,206.39 1 1
github.com/echovault/echovault/src/modules/list/commands.go:198.55,200.3 1 0 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:206.39,207.26 1 1
github.com/echovault/echovault/src/modules/list/commands.go:202.2,202.38 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:207.26,210.5 2 1
github.com/echovault/echovault/src/modules/list/commands.go:205.109,207.16 2 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:212.3,213.21 2 1
github.com/echovault/echovault/src/modules/list/commands.go:207.16,209.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:216.2,218.38 2 1
github.com/echovault/echovault/src/modules/list/commands.go:211.2,215.24 4 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:218.38,220.78 1 1
github.com/echovault/echovault/src/modules/list/commands.go:215.24,217.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:220.78,223.12 3 1
github.com/echovault/echovault/src/modules/list/commands.go:219.2,219.30 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:226.3,226.50 1 1
github.com/echovault/echovault/src/modules/list/commands.go:219.30,221.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:226.50,229.4 2 1
github.com/echovault/echovault/src/modules/list/commands.go:223.2,223.33 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:232.2,232.53 1 1
github.com/echovault/echovault/src/modules/list/commands.go:223.33,225.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:235.32,240.38 4 1
github.com/echovault/echovault/src/modules/list/commands.go:227.2,227.51 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:240.38,241.51 1 1
github.com/echovault/echovault/src/modules/list/commands.go:227.51,229.3 1 0 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:241.51,243.4 1 1
github.com/echovault/echovault/src/modules/list/commands.go:230.2,233.9 3 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:245.2,245.14 1 1
github.com/echovault/echovault/src/modules/list/commands.go:233.9,235.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:248.52,253.35 4 1
github.com/echovault/echovault/src/modules/list/commands.go:237.2,237.40 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:253.35,255.66 1 1
github.com/echovault/echovault/src/modules/list/commands.go:237.40,239.3 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:255.66,257.4 1 1
github.com/echovault/echovault/src/modules/list/commands.go:241.2,241.34 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:258.3,258.20 1 1
github.com/echovault/echovault/src/modules/list/commands.go:241.34,242.64 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:258.20,260.12 2 1
github.com/echovault/echovault/src/modules/list/commands.go:242.64,244.4 1 0 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:262.3,262.106 1 1
github.com/echovault/echovault/src/modules/list/commands.go:245.3,245.39 1 1 github.com/echovault/echovault/src/modules/pubsub/pubsub.go:264.2,264.20 1 1
github.com/echovault/echovault/src/modules/list/commands.go:248.2,248.66 1 1
github.com/echovault/echovault/src/modules/list/commands.go:248.66,250.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:251.2,251.38 1 1
github.com/echovault/echovault/src/modules/list/commands.go:254.108,256.16 2 1
github.com/echovault/echovault/src/modules/list/commands.go:256.16,258.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:260.2,264.9 4 1
github.com/echovault/echovault/src/modules/list/commands.go:264.9,266.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:268.2,270.33 2 1
github.com/echovault/echovault/src/modules/list/commands.go:270.33,272.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:274.2,274.51 1 1
github.com/echovault/echovault/src/modules/list/commands.go:274.51,276.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:277.2,280.9 3 1
github.com/echovault/echovault/src/modules/list/commands.go:280.9,282.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:284.2,284.9 1 1
github.com/echovault/echovault/src/modules/list/commands.go:285.10,285.10 0 0
github.com/echovault/echovault/src/modules/list/commands.go:287.17,289.34 1 1
github.com/echovault/echovault/src/modules/list/commands.go:289.34,290.26 1 1
github.com/echovault/echovault/src/modules/list/commands.go:290.26,291.10 1 1
github.com/echovault/echovault/src/modules/list/commands.go:293.4,293.43 1 1
github.com/echovault/echovault/src/modules/list/commands.go:293.43,296.5 2 1
github.com/echovault/echovault/src/modules/list/commands.go:298.17,300.39 1 1
github.com/echovault/echovault/src/modules/list/commands.go:300.39,301.26 1 1
github.com/echovault/echovault/src/modules/list/commands.go:301.26,302.10 1 1
github.com/echovault/echovault/src/modules/list/commands.go:304.4,304.43 1 1
github.com/echovault/echovault/src/modules/list/commands.go:304.43,307.5 2 1
github.com/echovault/echovault/src/modules/list/commands.go:311.2,311.61 1 1
github.com/echovault/echovault/src/modules/list/commands.go:311.61,313.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:315.2,315.55 1 1
github.com/echovault/echovault/src/modules/list/commands.go:315.55,317.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:319.2,319.38 1 1
github.com/echovault/echovault/src/modules/list/commands.go:322.109,324.16 2 1
github.com/echovault/echovault/src/modules/list/commands.go:324.16,326.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:328.2,333.116 5 1
github.com/echovault/echovault/src/modules/list/commands.go:333.116,335.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:337.2,337.75 1 1
github.com/echovault/echovault/src/modules/list/commands.go:337.75,339.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:341.2,341.54 1 1
github.com/echovault/echovault/src/modules/list/commands.go:341.54,343.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:344.2,347.16 3 1
github.com/echovault/echovault/src/modules/list/commands.go:347.16,349.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:350.2,355.33 4 1
github.com/echovault/echovault/src/modules/list/commands.go:355.33,357.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:359.2,359.19 1 1
github.com/echovault/echovault/src/modules/list/commands.go:360.14,362.24 2 1
github.com/echovault/echovault/src/modules/list/commands.go:362.24,364.4 1 1
github.com/echovault/echovault/src/modules/list/commands.go:364.9,364.32 1 1
github.com/echovault/echovault/src/modules/list/commands.go:364.32,366.4 1 1
github.com/echovault/echovault/src/modules/list/commands.go:367.15,369.24 2 1
github.com/echovault/echovault/src/modules/list/commands.go:369.24,371.4 1 1
github.com/echovault/echovault/src/modules/list/commands.go:371.9,371.32 1 1
github.com/echovault/echovault/src/modules/list/commands.go:371.32,373.4 1 1
github.com/echovault/echovault/src/modules/list/commands.go:376.2,376.16 1 1
github.com/echovault/echovault/src/modules/list/commands.go:376.16,378.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:380.2,380.38 1 1
github.com/echovault/echovault/src/modules/list/commands.go:383.109,385.16 2 1
github.com/echovault/echovault/src/modules/list/commands.go:385.16,387.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:389.2,391.31 2 1
github.com/echovault/echovault/src/modules/list/commands.go:391.31,393.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:395.2,397.33 2 1
github.com/echovault/echovault/src/modules/list/commands.go:397.33,398.34 1 1
github.com/echovault/echovault/src/modules/list/commands.go:399.17,400.61 1 1
github.com/echovault/echovault/src/modules/list/commands.go:401.11,402.62 1 1
github.com/echovault/echovault/src/modules/list/commands.go:402.62,404.5 1 0
github.com/echovault/echovault/src/modules/list/commands.go:405.4,405.68 1 1
github.com/echovault/echovault/src/modules/list/commands.go:405.68,407.5 1 0
github.com/echovault/echovault/src/modules/list/commands.go:409.8,410.52 1 1
github.com/echovault/echovault/src/modules/list/commands.go:410.52,412.4 1 0
github.com/echovault/echovault/src/modules/list/commands.go:414.2,419.9 4 1
github.com/echovault/echovault/src/modules/list/commands.go:419.9,421.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:423.2,423.73 1 1
github.com/echovault/echovault/src/modules/list/commands.go:423.73,425.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:426.2,426.38 1 1
github.com/echovault/echovault/src/modules/list/commands.go:429.109,431.16 2 1
github.com/echovault/echovault/src/modules/list/commands.go:431.16,433.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:435.2,439.31 3 1
github.com/echovault/echovault/src/modules/list/commands.go:439.31,441.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:443.2,443.33 1 1
github.com/echovault/echovault/src/modules/list/commands.go:443.33,444.34 1 1
github.com/echovault/echovault/src/modules/list/commands.go:445.17,446.61 1 1
github.com/echovault/echovault/src/modules/list/commands.go:447.11,448.62 1 1
github.com/echovault/echovault/src/modules/list/commands.go:448.62,450.5 1 0
github.com/echovault/echovault/src/modules/list/commands.go:451.4,452.68 2 1
github.com/echovault/echovault/src/modules/list/commands.go:452.68,454.5 1 0
github.com/echovault/echovault/src/modules/list/commands.go:456.8,457.52 1 1
github.com/echovault/echovault/src/modules/list/commands.go:457.52,459.4 1 0
github.com/echovault/echovault/src/modules/list/commands.go:460.3,460.35 1 1
github.com/echovault/echovault/src/modules/list/commands.go:463.2,467.9 3 1
github.com/echovault/echovault/src/modules/list/commands.go:467.9,469.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:471.2,471.73 1 1
github.com/echovault/echovault/src/modules/list/commands.go:471.73,473.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:474.2,474.38 1 1
github.com/echovault/echovault/src/modules/list/commands.go:477.107,479.16 2 1
github.com/echovault/echovault/src/modules/list/commands.go:479.16,481.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:483.2,485.33 2 1
github.com/echovault/echovault/src/modules/list/commands.go:485.33,487.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:489.2,489.51 1 1
github.com/echovault/echovault/src/modules/list/commands.go:489.51,491.3 1 0
github.com/echovault/echovault/src/modules/list/commands.go:492.2,495.9 3 1
github.com/echovault/echovault/src/modules/list/commands.go:495.9,497.3 1 1
github.com/echovault/echovault/src/modules/list/commands.go:499.2,499.33 1 1
github.com/echovault/echovault/src/modules/list/commands.go:500.10,501.60 1 1
github.com/echovault/echovault/src/modules/list/commands.go:501.60,503.4 1 0
github.com/echovault/echovault/src/modules/list/commands.go:504.3,504.54 1 1
github.com/echovault/echovault/src/modules/list/commands.go:505.14,506.70 1 1
github.com/echovault/echovault/src/modules/list/commands.go:506.70,508.4 1 0
github.com/echovault/echovault/src/modules/list/commands.go:509.3,509.64 1 1
github.com/echovault/echovault/src/modules/list/commands.go:513.33,620.2 1 0
github.com/echovault/echovault/src/modules/list/key_funcs.go:22.51,23.18 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:23.18,25.3 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:26.2,26.30 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:29.49,30.19 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:30.19,32.3 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:33.2,33.30 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:36.50,37.19 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:37.19,39.3 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:40.2,40.30 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:43.52,44.19 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:44.19,46.3 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:47.2,47.30 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:50.52,51.19 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:51.19,53.3 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:54.2,54.30 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:57.50,58.19 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:58.19,60.3 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:61.2,61.30 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:64.51,65.19 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:65.19,67.3 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:68.2,68.30 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:71.50,72.19 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:72.19,74.3 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:75.2,75.30 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:78.51,79.18 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:79.18,81.3 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:82.2,82.30 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:85.51,86.19 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:86.19,88.3 1 1
github.com/echovault/echovault/src/modules/list/key_funcs.go:89.2,89.38 1 1
github.com/echovault/echovault/src/modules/set/commands.go:27.108,29.16 2 1 github.com/echovault/echovault/src/modules/set/commands.go:27.108,29.16 2 1
github.com/echovault/echovault/src/modules/set/commands.go:29.16,31.3 1 1 github.com/echovault/echovault/src/modules/set/commands.go:29.16,31.3 1 1
github.com/echovault/echovault/src/modules/set/commands.go:33.2,37.33 3 1 github.com/echovault/echovault/src/modules/set/commands.go:33.2,37.33 3 1
@@ -1656,149 +1799,6 @@ github.com/echovault/echovault/src/modules/set/set.go:184.31,185.19 1 1
github.com/echovault/echovault/src/modules/set/set.go:186.9,187.17 1 1 github.com/echovault/echovault/src/modules/set/set.go:186.9,187.17 1 1
github.com/echovault/echovault/src/modules/set/set.go:188.9,191.15 3 1 github.com/echovault/echovault/src/modules/set/set.go:188.9,191.15 3 1
github.com/echovault/echovault/src/modules/set/set.go:192.10,195.28 3 1 github.com/echovault/echovault/src/modules/set/set.go:192.10,195.28 3 1
github.com/echovault/echovault/src/modules/pubsub/channel.go:36.51,37.32 1 1
github.com/echovault/echovault/src/modules/pubsub/channel.go:37.32,39.3 1 1
github.com/echovault/echovault/src/modules/pubsub/channel.go:42.57,43.32 1 1
github.com/echovault/echovault/src/modules/pubsub/channel.go:43.32,46.3 2 1
github.com/echovault/echovault/src/modules/pubsub/channel.go:49.61,60.33 3 1
github.com/echovault/echovault/src/modules/pubsub/channel.go:60.33,62.3 1 1
github.com/echovault/echovault/src/modules/pubsub/channel.go:64.2,64.16 1 1
github.com/echovault/echovault/src/modules/pubsub/channel.go:67.28,68.12 1 1
github.com/echovault/echovault/src/modules/pubsub/channel.go:68.12,69.7 1 1
github.com/echovault/echovault/src/modules/pubsub/channel.go:69.7,74.40 3 1
github.com/echovault/echovault/src/modules/pubsub/channel.go:74.40,75.30 1 1
github.com/echovault/echovault/src/modules/pubsub/channel.go:75.30,80.21 1 1
github.com/echovault/echovault/src/modules/pubsub/channel.go:80.21,82.7 1 0
github.com/echovault/echovault/src/modules/pubsub/channel.go:86.4,86.33 1 1
github.com/echovault/echovault/src/modules/pubsub/channel.go:91.51,94.40 3 1
github.com/echovault/echovault/src/modules/pubsub/channel.go:94.40,96.3 1 1
github.com/echovault/echovault/src/modules/pubsub/channel.go:97.2,98.11 2 1
github.com/echovault/echovault/src/modules/pubsub/channel.go:101.53,104.40 3 1
github.com/echovault/echovault/src/modules/pubsub/channel.go:104.40,106.3 1 1
github.com/echovault/echovault/src/modules/pubsub/channel.go:107.2,108.13 2 1
github.com/echovault/echovault/src/modules/pubsub/channel.go:111.44,113.2 1 1
github.com/echovault/echovault/src/modules/pubsub/channel.go:115.36,119.2 3 1
github.com/echovault/echovault/src/modules/pubsub/channel.go:121.34,125.2 3 1
github.com/echovault/echovault/src/modules/pubsub/commands.go:26.113,28.9 2 1
github.com/echovault/echovault/src/modules/pubsub/commands.go:28.9,30.3 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:32.2,34.24 2 1
github.com/echovault/echovault/src/modules/pubsub/commands.go:34.24,36.3 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:38.2,41.17 3 1
github.com/echovault/echovault/src/modules/pubsub/commands.go:44.115,46.9 2 1
github.com/echovault/echovault/src/modules/pubsub/commands.go:46.9,48.3 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:50.2,54.66 3 1
github.com/echovault/echovault/src/modules/pubsub/commands.go:57.108,59.9 2 1
github.com/echovault/echovault/src/modules/pubsub/commands.go:59.9,61.3 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:62.2,62.19 1 1
github.com/echovault/echovault/src/modules/pubsub/commands.go:62.19,64.3 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:65.2,66.38 2 1
github.com/echovault/echovault/src/modules/pubsub/commands.go:69.113,70.18 1 1
github.com/echovault/echovault/src/modules/pubsub/commands.go:70.18,72.3 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:74.2,75.9 2 1
github.com/echovault/echovault/src/modules/pubsub/commands.go:75.9,77.3 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:79.2,80.19 2 1
github.com/echovault/echovault/src/modules/pubsub/commands.go:80.19,82.3 1 1
github.com/echovault/echovault/src/modules/pubsub/commands.go:84.2,84.38 1 1
github.com/echovault/echovault/src/modules/pubsub/commands.go:87.109,89.9 2 1
github.com/echovault/echovault/src/modules/pubsub/commands.go:89.9,91.3 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:92.2,93.49 2 1
github.com/echovault/echovault/src/modules/pubsub/commands.go:96.112,98.9 2 1
github.com/echovault/echovault/src/modules/pubsub/commands.go:98.9,100.3 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:101.2,101.36 1 1
github.com/echovault/echovault/src/modules/pubsub/commands.go:104.33,111.60 1 1
github.com/echovault/echovault/src/modules/pubsub/commands.go:111.60,113.21 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:113.21,115.6 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:116.5,116.24 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:125.60,127.21 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:127.21,129.6 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:130.5,130.24 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:139.60,141.22 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:141.22,143.6 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:144.5,144.33 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:155.60,158.5 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:168.60,171.5 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:179.60,179.86 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:180.101,182.5 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:191.62,191.88 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:199.62,199.88 1 0
github.com/echovault/echovault/src/modules/pubsub/commands.go:208.62,208.85 1 0
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:34.26,39.2 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:41.101,48.17 5 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:48.17,50.3 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:52.2,52.37 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:52.37,56.75 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:56.75,58.4 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:60.3,60.23 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:60.23,63.19 2 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:63.19,65.5 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:65.10,67.5 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:68.4,69.31 2 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:69.31,74.20 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:74.20,76.6 1 0
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:78.4,78.46 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:79.9,81.47 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:81.47,86.20 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:86.20,88.6 1 0
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:94.112,99.17 4 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:99.17,101.3 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:103.2,106.24 3 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:106.24,107.19 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:107.19,110.40 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:110.40,111.31 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:111.31,112.14 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:114.5,114.34 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:114.34,117.6 2 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:119.9,122.40 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:122.40,123.31 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:123.31,124.14 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:126.5,126.34 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:126.34,129.6 2 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:137.2,137.38 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:137.38,138.30 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:138.30,139.54 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:139.54,142.5 2 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:148.2,148.17 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:148.17,149.36 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:149.36,151.40 2 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:151.40,153.58 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:153.58,154.35 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:154.35,157.7 2 0
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:158.6,158.14 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:161.5,161.30 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:161.30,162.35 1 0
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:162.35,165.7 2 0
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:171.2,172.39 2 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:172.39,174.3 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:176.2,176.20 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:179.84,183.38 3 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:183.38,185.29 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:185.29,186.35 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:186.35,188.5 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:189.4,189.12 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:192.3,192.41 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:192.41,194.4 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:198.51,205.19 5 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:205.19,206.39 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:206.39,207.26 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:207.26,210.5 2 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:212.3,213.21 2 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:216.2,218.38 2 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:218.38,220.78 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:220.78,223.12 3 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:226.3,226.50 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:226.50,229.4 2 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:232.2,232.53 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:235.32,240.38 4 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:240.38,241.51 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:241.51,243.4 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:245.2,245.14 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:248.52,253.35 4 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:253.35,255.66 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:255.66,257.4 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:258.3,258.20 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:258.20,260.12 2 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:262.3,262.106 1 1
github.com/echovault/echovault/src/modules/pubsub/pubsub.go:264.2,264.20 1 1
github.com/echovault/echovault/src/modules/sorted_set/commands.go:30.108,32.16 2 1 github.com/echovault/echovault/src/modules/sorted_set/commands.go:30.108,32.16 2 1
github.com/echovault/echovault/src/modules/sorted_set/commands.go:32.16,34.3 1 1 github.com/echovault/echovault/src/modules/sorted_set/commands.go:32.16,34.3 1 1
github.com/echovault/echovault/src/modules/sorted_set/commands.go:36.2,45.32 7 1 github.com/echovault/echovault/src/modules/sorted_set/commands.go:36.2,45.32 7 1

View File

@@ -34,9 +34,9 @@ services:
- EVICTION_POLICY=noeviction - EVICTION_POLICY=noeviction
- EVICTION_SAMPLE=20 - EVICTION_SAMPLE=20
- EVICTION_INTERVAL=100ms - EVICTION_INTERVAL=100ms
# List of server cert/key pairs # List of echovault cert/key pairs
- CERT_KEY_PAIR_1=/etc/ssl/certs/echovault/server/server1.crt,/etc/ssl/certs/echovault/server/server1.key - CERT_KEY_PAIR_1=/etc/ssl/certs/echovault/echovault/server1.crt,/etc/ssl/certs/echovault/echovault/server1.key
- CERT_KEY_PAIR_2=/etc/ssl/certs/echovault/server/server2.crt,/etc/ssl/certs/echovault/server/server2.key - CERT_KEY_PAIR_2=/etc/ssl/certs/echovault/echovault/server2.crt,/etc/ssl/certs/echovault/echovault/server2.key
# List of client certificate authorities # List of client certificate authorities
- CLIENT_CA_1=/etc/ssl/certs/echovault/client/rootCA.crt - CLIENT_CA_1=/etc/ssl/certs/echovault/client/rootCA.crt
ports: ports:
@@ -77,9 +77,9 @@ services:
- EVICTION_POLICY=noeviction - EVICTION_POLICY=noeviction
- EVICTION_SAMPLE=20 - EVICTION_SAMPLE=20
- EVICTION_INTERVAL=100ms - EVICTION_INTERVAL=100ms
# List of server cert/key pairs # List of echovault cert/key pairs
- CERT_KEY_PAIR_1=/etc/ssl/certs/echovault/server/server1.crt,/etc/ssl/certs/echovault/server/server1.key - CERT_KEY_PAIR_1=/etc/ssl/certs/echovault/echovault/server1.crt,/etc/ssl/certs/echovault/echovault/server1.key
- CERT_KEY_PAIR_2=/etc/ssl/certs/echovault/server/server2.crt,/etc/ssl/certs/echovault/server/server2.key - CERT_KEY_PAIR_2=/etc/ssl/certs/echovault/echovault/server2.crt,/etc/ssl/certs/echovault/echovault/server2.key
# List of client certificate authorities # List of client certificate authorities
- CLIENT_CA_1=/etc/ssl/certs/echovault/client/rootCA.crt - CLIENT_CA_1=/etc/ssl/certs/echovault/client/rootCA.crt
ports: ports:
@@ -120,9 +120,9 @@ services:
- EVICTION_POLICY=noeviction - EVICTION_POLICY=noeviction
- EVICTION_SAMPLE=20 - EVICTION_SAMPLE=20
- EVICTION_INTERVAL=100ms - EVICTION_INTERVAL=100ms
# List of server cert/key pairs # List of echovault cert/key pairs
- CERT_KEY_PAIR_1=/etc/ssl/certs/echovault/server/server1.crt,/etc/ssl/certs/echovault/server/server1.key - CERT_KEY_PAIR_1=/etc/ssl/certs/echovault/echovault/server1.crt,/etc/ssl/certs/echovault/echovault/server1.key
- CERT_KEY_PAIR_2=/etc/ssl/certs/echovault/server/server2.crt,/etc/ssl/certs/echovault/server/server2.key - CERT_KEY_PAIR_2=/etc/ssl/certs/echovault/echovault/server2.crt,/etc/ssl/certs/echovault/echovault/server2.key
# List of client certificate authorities # List of client certificate authorities
- CLIENT_CA_1=/etc/ssl/certs/echovault/client/rootCA.crt - CLIENT_CA_1=/etc/ssl/certs/echovault/client/rootCA.crt
ports: ports:
@@ -163,9 +163,9 @@ services:
- EVICTION_POLICY=noeviction - EVICTION_POLICY=noeviction
- EVICTION_SAMPLE=20 - EVICTION_SAMPLE=20
- EVICTION_INTERVAL=100ms - EVICTION_INTERVAL=100ms
# List of server cert/key pairs # List of echovault cert/key pairs
- CERT_KEY_PAIR_1=/etc/ssl/certs/echovault/server/server1.crt,/etc/ssl/certs/echovault/server/server1.key - CERT_KEY_PAIR_1=/etc/ssl/certs/echovault/echovault/server1.crt,/etc/ssl/certs/echovault/echovault/server1.key
- CERT_KEY_PAIR_2=/etc/ssl/certs/echovault/server/server2.crt,/etc/ssl/certs/echovault/server/server2.key - CERT_KEY_PAIR_2=/etc/ssl/certs/echovault/echovault/server2.crt,/etc/ssl/certs/echovault/echovault/server2.key
# List of client certificate authorities # List of client certificate authorities
- CLIENT_CA_1=/etc/ssl/certs/echovault/client/rootCA.crt - CLIENT_CA_1=/etc/ssl/certs/echovault/client/rootCA.crt
ports: ports:
@@ -206,9 +206,9 @@ services:
- EVICTION_POLICY=noeviction - EVICTION_POLICY=noeviction
- EVICTION_SAMPLE=20 - EVICTION_SAMPLE=20
- EVICTION_INTERVAL=100ms - EVICTION_INTERVAL=100ms
# List of server cert/key pairs # List of echovault cert/key pairs
- CERT_KEY_PAIR_1=/etc/ssl/certs/echovault/server/server1.crt,/etc/ssl/certs/echovault/server/server1.key - CERT_KEY_PAIR_1=/etc/ssl/certs/echovault/echovault/server1.crt,/etc/ssl/certs/echovault/echovault/server1.key
- CERT_KEY_PAIR_2=/etc/ssl/certs/echovault/server/server2.crt,/etc/ssl/certs/echovault/server/server2.key - CERT_KEY_PAIR_2=/etc/ssl/certs/echovault/echovault/server2.crt,/etc/ssl/certs/echovault/echovault/server2.key
# List of client certificate authorities # List of client certificate authorities
- CLIENT_CA_1=/etc/ssl/certs/echovault/client/rootCA.crt - CLIENT_CA_1=/etc/ssl/certs/echovault/client/rootCA.crt
ports: ports:
@@ -249,9 +249,9 @@ services:
- EVICTION_POLICY=noeviction - EVICTION_POLICY=noeviction
- EVICTION_SAMPLE=20 - EVICTION_SAMPLE=20
- EVICTION_INTERVAL=100ms - EVICTION_INTERVAL=100ms
# List of server cert/key pairs # List of echovault cert/key pairs
- CERT_KEY_PAIR_1=/etc/ssl/certs/echovault/server/server1.crt,/etc/ssl/certs/echovault/server/server1.key - CERT_KEY_PAIR_1=/etc/ssl/certs/echovault/echovault/server1.crt,/etc/ssl/certs/echovault/echovault/server1.key
- CERT_KEY_PAIR_2=/etc/ssl/certs/echovault/server/server2.crt,/etc/ssl/certs/echovault/server/server2.key - CERT_KEY_PAIR_2=/etc/ssl/certs/echovault/echovault/server2.crt,/etc/ssl/certs/echovault/echovault/server2.key
# List of client certificate authorities # List of client certificate authorities
- CLIENT_CA_1=/etc/ssl/certs/echovault/client/rootCA.crt - CLIENT_CA_1=/etc/ssl/certs/echovault/client/rootCA.crt
ports: ports:

View File

@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
package server package echovault
import ( import (
"context" "context"

View File

@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
package server package echovault
import ( import (
"context" "context"
@@ -325,7 +325,7 @@ func (server *EchoVault) updateKeyInCache(ctx context.Context, key string) error
return nil return nil
} }
// adjustMemoryUsage should only be called from standalone server or from raft cluster leader. // adjustMemoryUsage should only be called from standalone echovault or from raft cluster leader.
func (server *EchoVault) adjustMemoryUsage(ctx context.Context) error { func (server *EchoVault) adjustMemoryUsage(ctx context.Context) error {
// If max memory is 0, there's no need to adjust memory usage. // If max memory is 0, there's no need to adjust memory usage.
if server.Config.MaxMemory == 0 { if server.Config.MaxMemory == 0 {

View File

@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
package server package echovault
import ( import (
"context" "context"

View File

@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
package server package echovault
import ( import (
"context" "context"
@@ -36,7 +36,7 @@ import (
) )
type EchoVault struct { type EchoVault struct {
// Config holds the server configuration variables. // Config holds the echovault configuration variables.
Config utils.Config Config utils.Config
// The current index for the latest connection id. // The current index for the latest connection id.
@@ -64,11 +64,11 @@ type EchoVault struct {
cache eviction.CacheLRU // LRU cache represented by a max head. cache eviction.CacheLRU // LRU cache represented by a max head.
} }
// Holds the list of all commands supported by the server. // Holds the list of all commands supported by the echovault.
Commands []utils.Command Commands []utils.Command
raft *raft.Raft // The raft replication layer for the server. raft *raft.Raft // The raft replication layer for the echovault.
memberList *memberlist.MemberList // The memberlist layer for the server. memberList *memberlist.MemberList // The memberlist layer for the echovault.
CancelCh *chan os.Signal CancelCh *chan os.Signal
@@ -199,15 +199,15 @@ func (server *EchoVault) StartTCP(ctx context.Context) {
if !conf.TLS { if !conf.TLS {
// TCP // TCP
fmt.Printf("Starting TCP server at Address %s, Port %d...\n", conf.BindAddr, conf.Port) fmt.Printf("Starting TCP echovault at Address %s, Port %d...\n", conf.BindAddr, conf.Port)
} }
if conf.TLS || conf.MTLS { if conf.TLS || conf.MTLS {
// TLS // TLS
if conf.TLS { if conf.TLS {
fmt.Printf("Starting mTLS server at Address %s, Port %d...\n", conf.BindAddr, conf.Port) fmt.Printf("Starting mTLS echovault at Address %s, Port %d...\n", conf.BindAddr, conf.Port)
} else { } else {
fmt.Printf("Starting TLS server at Address %s, Port %d...\n", conf.BindAddr, conf.Port) fmt.Printf("Starting TLS echovault at Address %s, Port %d...\n", conf.BindAddr, conf.Port)
} }
var certificates []tls.Certificate var certificates []tls.Certificate

View File

@@ -16,6 +16,7 @@ package main
import ( import (
"context" "context"
"github.com/echovault/echovault/src/echovault"
"github.com/echovault/echovault/src/modules/acl" "github.com/echovault/echovault/src/modules/acl"
"github.com/echovault/echovault/src/modules/admin" "github.com/echovault/echovault/src/modules/admin"
"github.com/echovault/echovault/src/modules/connection" "github.com/echovault/echovault/src/modules/connection"
@@ -26,7 +27,6 @@ import (
"github.com/echovault/echovault/src/modules/set" "github.com/echovault/echovault/src/modules/set"
"github.com/echovault/echovault/src/modules/sorted_set" "github.com/echovault/echovault/src/modules/sorted_set"
str "github.com/echovault/echovault/src/modules/string" str "github.com/echovault/echovault/src/modules/string"
"github.com/echovault/echovault/src/server"
"github.com/echovault/echovault/src/utils" "github.com/echovault/echovault/src/utils"
"log" "log"
"os" "os"
@@ -70,7 +70,7 @@ func main() {
cancelCh := make(chan os.Signal, 1) cancelCh := make(chan os.Signal, 1)
signal.Notify(cancelCh, syscall.SIGINT, syscall.SIGTERM, os.Interrupt) signal.Notify(cancelCh, syscall.SIGINT, syscall.SIGTERM, os.Interrupt)
s := server.NewEchoVault(server.Opts{ s := echovault.NewEchoVault(echovault.Opts{
Config: config, Config: config,
ACL: acl.NewACL(config), ACL: acl.NewACL(config),
PubSub: pubsub.NewPubSub(), PubSub: pubsub.NewPubSub(),

View File

@@ -42,7 +42,7 @@ type Connection struct {
type ACL struct { type ACL struct {
Users []*User // List of ACL user profiles Users []*User // List of ACL user profiles
UsersMutex sync.RWMutex // RWMutex for concurrency control when accessing ACL profile list UsersMutex sync.RWMutex // RWMutex for concurrency control when accessing ACL profile list
Connections map[*net.Conn]Connection // Connections to the server that are currently registered with the ACL module Connections map[*net.Conn]Connection // Connections to the echovault that are currently registered with the ACL module
Config utils.Config // EchoVault configuration that contains the relevant ACL config options Config utils.Config // EchoVault configuration that contains the relevant ACL config options
GlobPatterns map[string]glob.Glob GlobPatterns map[string]glob.Glob
} }

View File

@@ -18,7 +18,7 @@ import (
"context" "context"
"crypto/sha256" "crypto/sha256"
"fmt" "fmt"
"github.com/echovault/echovault/src/server" "github.com/echovault/echovault/src/echovault"
"github.com/echovault/echovault/src/utils" "github.com/echovault/echovault/src/utils"
"github.com/tidwall/resp" "github.com/tidwall/resp"
"net" "net"
@@ -29,7 +29,7 @@ import (
var bindAddr string var bindAddr string
var port uint16 var port uint16
var mockServer *server.EchoVault var mockServer *echovault.EchoVault
var acl *ACL var acl *ACL
@@ -44,7 +44,7 @@ func init() {
}() }()
} }
func setUpServer(bindAddr string, port uint16, requirePass bool, aclConfig string) *server.EchoVault { func setUpServer(bindAddr string, port uint16, requirePass bool, aclConfig string) *echovault.EchoVault {
config := utils.Config{ config := utils.Config{
BindAddr: bindAddr, BindAddr: bindAddr,
Port: port, Port: port,
@@ -58,7 +58,7 @@ func setUpServer(bindAddr string, port uint16, requirePass bool, aclConfig strin
acl = NewACL(config) acl = NewACL(config)
acl.Users = append(acl.Users, generateInitialTestUsers()...) acl.Users = append(acl.Users, generateInitialTestUsers()...)
return server.NewEchoVault(server.Opts{ return echovault.NewEchoVault(echovault.Opts{
Config: config, Config: config,
ACL: acl, ACL: acl,
Commands: Commands(), Commands: Commands(),

View File

@@ -175,7 +175,7 @@ func Commands() []utils.Command {
{ {
Command: "commands", Command: "commands",
Categories: []string{utils.AdminCategory, utils.SlowCategory}, Categories: []string{utils.AdminCategory, utils.SlowCategory},
Description: "Get a list of all the commands in available on the server with categories and descriptions", Description: "Get a list of all the commands in available on the echovault with categories and descriptions",
Sync: false, Sync: false,
KeyExtractionFunc: func(cmd []string) ([]string, error) { return []string{}, nil }, KeyExtractionFunc: func(cmd []string) ([]string, error) { return []string{}, nil },
HandlerFunc: handleGetAllCommands, HandlerFunc: handleGetAllCommands,
@@ -200,7 +200,7 @@ func Commands() []utils.Command {
{ {
Command: "count", Command: "count",
Categories: []string{utils.SlowCategory}, Categories: []string{utils.SlowCategory},
Description: "Get the dumber of commands in the server", Description: "Get the dumber of commands in the echovault",
Sync: false, Sync: false,
KeyExtractionFunc: func(cmd []string) ([]string, error) { return []string{}, nil }, KeyExtractionFunc: func(cmd []string) ([]string, error) { return []string{}, nil },
HandlerFunc: handleCommandCount, HandlerFunc: handleCommandCount,

View File

@@ -18,14 +18,14 @@ import (
"bytes" "bytes"
"context" "context"
"fmt" "fmt"
"github.com/echovault/echovault/src/server" "github.com/echovault/echovault/src/echovault"
"github.com/echovault/echovault/src/utils" "github.com/echovault/echovault/src/utils"
"github.com/tidwall/resp" "github.com/tidwall/resp"
"testing" "testing"
) )
func Test_CommandsHandler(t *testing.T) { func Test_CommandsHandler(t *testing.T) {
mockServer := server.NewEchoVault(server.Opts{ mockServer := echovault.NewEchoVault(echovault.Opts{
Config: utils.Config{ Config: utils.Config{
DataDir: "", DataDir: "",
EvictionPolicy: utils.NoEviction, EvictionPolicy: utils.NoEviction,

View File

@@ -38,7 +38,7 @@ func Commands() []utils.Command {
{ {
Command: "connection", Command: "connection",
Categories: []string{utils.FastCategory, utils.ConnectionCategory}, Categories: []string{utils.FastCategory, utils.ConnectionCategory},
Description: "(PING [value]) Ping the server. If a value is provided, the value will be echoed.", Description: "(PING [value]) Ping the echovault. If a value is provided, the value will be echoed.",
Sync: false, Sync: false,
KeyExtractionFunc: func(cmd []string) ([]string, error) { KeyExtractionFunc: func(cmd []string) ([]string, error) {
return []string{}, nil return []string{}, nil

View File

@@ -18,16 +18,16 @@ import (
"bytes" "bytes"
"context" "context"
"errors" "errors"
"github.com/echovault/echovault/src/server" "github.com/echovault/echovault/src/echovault"
"github.com/echovault/echovault/src/utils" "github.com/echovault/echovault/src/utils"
"github.com/tidwall/resp" "github.com/tidwall/resp"
"testing" "testing"
) )
var mockServer *server.EchoVault var mockServer *echovault.EchoVault
func init() { func init() {
mockServer = server.NewEchoVault(server.Opts{ mockServer = echovault.NewEchoVault(echovault.Opts{
Config: utils.Config{ Config: utils.Config{
DataDir: "", DataDir: "",
EvictionPolicy: utils.NoEviction, EvictionPolicy: utils.NoEviction,

View File

@@ -19,17 +19,17 @@ import (
"context" "context"
"errors" "errors"
"fmt" "fmt"
"github.com/echovault/echovault/src/server" "github.com/echovault/echovault/src/echovault"
"github.com/echovault/echovault/src/utils" "github.com/echovault/echovault/src/utils"
"github.com/tidwall/resp" "github.com/tidwall/resp"
"testing" "testing"
"time" "time"
) )
var mockServer *server.EchoVault var mockServer *echovault.EchoVault
func init() { func init() {
mockServer = server.NewEchoVault(server.Opts{ mockServer = echovault.NewEchoVault(echovault.Opts{
Config: utils.Config{ Config: utils.Config{
DataDir: "", DataDir: "",
EvictionPolicy: utils.NoEviction, EvictionPolicy: utils.NoEviction,

View File

@@ -19,17 +19,17 @@ import (
"context" "context"
"errors" "errors"
"fmt" "fmt"
"github.com/echovault/echovault/src/server" "github.com/echovault/echovault/src/echovault"
"github.com/echovault/echovault/src/utils" "github.com/echovault/echovault/src/utils"
"github.com/tidwall/resp" "github.com/tidwall/resp"
"slices" "slices"
"testing" "testing"
) )
var mockServer *server.EchoVault var mockServer *echovault.EchoVault
func init() { func init() {
mockServer = server.NewEchoVault(server.Opts{ mockServer = echovault.NewEchoVault(echovault.Opts{
Config: utils.Config{ Config: utils.Config{
DataDir: "", DataDir: "",
EvictionPolicy: utils.NoEviction, EvictionPolicy: utils.NoEviction,

View File

@@ -19,16 +19,16 @@ import (
"context" "context"
"errors" "errors"
"fmt" "fmt"
"github.com/echovault/echovault/src/server" "github.com/echovault/echovault/src/echovault"
"github.com/echovault/echovault/src/utils" "github.com/echovault/echovault/src/utils"
"github.com/tidwall/resp" "github.com/tidwall/resp"
"testing" "testing"
) )
var mockServer *server.EchoVault var mockServer *echovault.EchoVault
func init() { func init() {
mockServer = server.NewEchoVault(server.Opts{ mockServer = echovault.NewEchoVault(echovault.Opts{
Config: utils.Config{ Config: utils.Config{
DataDir: "", DataDir: "",
EvictionPolicy: utils.NoEviction, EvictionPolicy: utils.NoEviction,

View File

@@ -18,7 +18,7 @@ import (
"bytes" "bytes"
"context" "context"
"fmt" "fmt"
"github.com/echovault/echovault/src/server" "github.com/echovault/echovault/src/echovault"
"github.com/echovault/echovault/src/utils" "github.com/echovault/echovault/src/utils"
"github.com/tidwall/resp" "github.com/tidwall/resp"
"net" "net"
@@ -28,14 +28,14 @@ import (
) )
var pubsub *PubSub var pubsub *PubSub
var mockServer *server.EchoVault var mockServer *echovault.EchoVault
var bindAddr = "localhost" var bindAddr = "localhost"
var port uint16 = 7490 var port uint16 = 7490
func init() { func init() {
pubsub = NewPubSub() pubsub = NewPubSub()
mockServer = server.NewEchoVault(server.Opts{ mockServer = echovault.NewEchoVault(echovault.Opts{
PubSub: pubsub, PubSub: pubsub,
Commands: Commands(), Commands: Commands(),
Config: utils.Config{ Config: utils.Config{
@@ -330,7 +330,7 @@ func Test_HandlePublish(t *testing.T) {
} }
// The subscribe function handles subscribing the connection to the given // The subscribe function handles subscribing the connection to the given
// channels and patterns and reading/verifying the message sent by the server after // channels and patterns and reading/verifying the message sent by the echovault after
// subscription. // subscription.
subscribe := func(ctx context.Context, channels []string, patterns []string, c *net.Conn, r *resp.Conn) { subscribe := func(ctx context.Context, channels []string, patterns []string, c *net.Conn, r *resp.Conn) {
// Subscribe to channels // Subscribe to channels
@@ -450,7 +450,7 @@ func Test_HandlePublish(t *testing.T) {
}, },
} }
// Dial server to make publisher connection // Dial echovault to make publisher connection
conn, err := net.Dial("tcp", fmt.Sprintf("%s:%d", bindAddr, port)) conn, err := net.Dial("tcp", fmt.Sprintf("%s:%d", bindAddr, port))
if err != nil { if err != nil {
t.Error(err) t.Error(err)
@@ -489,10 +489,10 @@ func Test_HandlePublish(t *testing.T) {
func Test_HandlePubSubChannels(t *testing.T) { func Test_HandlePubSubChannels(t *testing.T) {
done := make(chan struct{}) done := make(chan struct{})
go func() { go func() {
// Create separate mock server for this test // Create separate mock echovault for this test
var port uint16 = 7590 var port uint16 = 7590
pubsub = NewPubSub() pubsub = NewPubSub()
mockServer := server.NewEchoVault(server.Opts{ mockServer := echovault.NewEchoVault(echovault.Opts{
PubSub: pubsub, PubSub: pubsub,
Commands: Commands(), Commands: Commands(),
Config: utils.Config{ Config: utils.Config{
@@ -634,10 +634,10 @@ func Test_HandlePubSubChannels(t *testing.T) {
func Test_HandleNumPat(t *testing.T) { func Test_HandleNumPat(t *testing.T) {
done := make(chan struct{}) done := make(chan struct{})
go func() { go func() {
// Create separate mock server for this test // Create separate mock echovault for this test
var port uint16 = 7591 var port uint16 = 7591
pubsub = NewPubSub() pubsub = NewPubSub()
mockServer := server.NewEchoVault(server.Opts{ mockServer := echovault.NewEchoVault(echovault.Opts{
PubSub: pubsub, PubSub: pubsub,
Commands: Commands(), Commands: Commands(),
Config: utils.Config{ Config: utils.Config{
@@ -738,10 +738,10 @@ func Test_HandleNumPat(t *testing.T) {
func Test_HandleNumSub(t *testing.T) { func Test_HandleNumSub(t *testing.T) {
done := make(chan struct{}) done := make(chan struct{})
go func() { go func() {
// Create separate mock server for this test // Create separate mock echovault for this test
var port uint16 = 7591 var port uint16 = 7591
pubsub = NewPubSub() pubsub = NewPubSub()
mockServer := server.NewEchoVault(server.Opts{ mockServer := echovault.NewEchoVault(echovault.Opts{
PubSub: pubsub, PubSub: pubsub,
Commands: Commands(), Commands: Commands(),
Config: utils.Config{ Config: utils.Config{

View File

@@ -19,17 +19,17 @@ import (
"context" "context"
"errors" "errors"
"fmt" "fmt"
"github.com/echovault/echovault/src/server" "github.com/echovault/echovault/src/echovault"
"github.com/echovault/echovault/src/utils" "github.com/echovault/echovault/src/utils"
"github.com/tidwall/resp" "github.com/tidwall/resp"
"slices" "slices"
"testing" "testing"
) )
var mockServer *server.EchoVault var mockServer *echovault.EchoVault
func init() { func init() {
mockServer = server.NewEchoVault(server.Opts{ mockServer = echovault.NewEchoVault(echovault.Opts{
Config: utils.Config{ Config: utils.Config{
DataDir: "", DataDir: "",
EvictionPolicy: utils.NoEviction, EvictionPolicy: utils.NoEviction,

View File

@@ -19,7 +19,7 @@ import (
"context" "context"
"errors" "errors"
"fmt" "fmt"
"github.com/echovault/echovault/src/server" "github.com/echovault/echovault/src/echovault"
"github.com/echovault/echovault/src/utils" "github.com/echovault/echovault/src/utils"
"github.com/tidwall/resp" "github.com/tidwall/resp"
"math" "math"
@@ -28,10 +28,10 @@ import (
"testing" "testing"
) )
var mockServer *server.EchoVault var mockServer *echovault.EchoVault
func init() { func init() {
mockServer = server.NewEchoVault(server.Opts{ mockServer = echovault.NewEchoVault(echovault.Opts{
Config: utils.Config{ Config: utils.Config{
DataDir: "", DataDir: "",
EvictionPolicy: utils.NoEviction, EvictionPolicy: utils.NoEviction,
@@ -272,7 +272,7 @@ func Test_HandleZADD(t *testing.T) {
if rv.Integer() != test.expectedResponse { if rv.Integer() != test.expectedResponse {
t.Errorf("expected response %d at key \"%s\", got %d", test.expectedResponse, test.key, rv.Integer()) t.Errorf("expected response %d at key \"%s\", got %d", test.expectedResponse, test.key, rv.Integer())
} }
// Fetch the sorted set from the server and check it against the expected result // Fetch the sorted set from the echovault and check it against the expected result
if _, err = mockServer.KeyRLock(ctx, test.key); err != nil { if _, err = mockServer.KeyRLock(ctx, test.key); err != nil {
t.Error(err) t.Error(err)
} }

View File

@@ -19,17 +19,17 @@ import (
"context" "context"
"errors" "errors"
"fmt" "fmt"
"github.com/echovault/echovault/src/server" "github.com/echovault/echovault/src/echovault"
"github.com/echovault/echovault/src/utils" "github.com/echovault/echovault/src/utils"
"github.com/tidwall/resp" "github.com/tidwall/resp"
"strconv" "strconv"
"testing" "testing"
) )
var mockServer *server.EchoVault var mockServer *echovault.EchoVault
func init() { func init() {
mockServer = server.NewEchoVault(server.Opts{ mockServer = echovault.NewEchoVault(echovault.Opts{
Config: utils.Config{ Config: utils.Config{
DataDir: "", DataDir: "",
EvictionPolicy: utils.NoEviction, EvictionPolicy: utils.NoEviction,
@@ -162,7 +162,7 @@ func Test_HandleSetRange(t *testing.T) {
t.Errorf("expected response \"%d\", got \"%d\"", test.expectedResponse, rv.Integer()) t.Errorf("expected response \"%d\", got \"%d\"", test.expectedResponse, rv.Integer())
} }
// Get the value from the server and check against the expected value // Get the value from the echovault and check against the expected value
if _, err = mockServer.KeyRLock(ctx, test.key); err != nil { if _, err = mockServer.KeyRLock(ctx, test.key); err != nil {
t.Error(err) t.Error(err)
} }

View File

@@ -102,7 +102,7 @@ func (r *Raft) RaftInit(ctx context.Context) {
log.Fatal(err) log.Fatal(err)
} }
// Start raft server // Start raft echovault
raftServer, err := raft.NewRaft( raftServer, err := raft.NewRaft(
raftConfig, raftConfig,
NewFSM(FSMOpts{ NewFSM(FSMOpts{
@@ -171,9 +171,9 @@ func (r *Raft) AddVoter(
} }
for _, s := range raftConfig.Configuration().Servers { for _, s := range raftConfig.Configuration().Servers {
// Check if a server already exists with the current attributes // Check if a echovault already exists with the current attributes
if s.ID == id && s.Address == address { if s.ID == id && s.Address == address {
return fmt.Errorf("server with id %s and address %s already exists", id, address) return fmt.Errorf("echovault with id %s and address %s already exists", id, address)
} }
} }
@@ -188,7 +188,7 @@ func (r *Raft) AddVoter(
func (r *Raft) RemoveServer(meta memberlist.NodeMeta) error { func (r *Raft) RemoveServer(meta memberlist.NodeMeta) error {
if !r.IsRaftLeader() { if !r.IsRaftLeader() {
return errors.New("not leader, could not remove server") return errors.New("not leader, could not remove echovault")
} }
if err := r.raft.RemoveServer(meta.ServerID, 0, 0).Error(); err != nil { if err := r.raft.RemoveServer(meta.ServerID, 0, 0).Error(); err != nil {

View File

@@ -128,12 +128,12 @@ There is no limit by default.`, func(memory string) error {
return nil return nil
}) })
tls := flag.Bool("tls", false, "Start the server in TLS mode. Default is false.") tls := flag.Bool("tls", false, "Start the echovault in TLS mode. Default is false.")
mtls := flag.Bool("mtls", false, "Use mTLS to verify the client.") mtls := flag.Bool("mtls", false, "Use mTLS to verify the client.")
port := flag.Int("port", 7480, "Port to use. Default is 7480") port := flag.Int("port", 7480, "Port to use. Default is 7480")
serverId := flag.String("server-id", "1", "EchoVault ID in raft cluster. Leave empty for client.") serverId := flag.String("echovault-id", "1", "EchoVault ID in raft cluster. Leave empty for client.")
joinAddr := flag.String("join-addr", "", "Address of cluster member in a cluster to you want to join.") joinAddr := flag.String("join-addr", "", "Address of cluster member in a cluster to you want to join.")
bindAddr := flag.String("bind-addr", "", "Address to bind the server to.") bindAddr := flag.String("bind-addr", "", "Address to bind the echovault to.")
raftBindPort := flag.Uint("raft-port", 7481, "Port to use for intra-cluster communication. Leave on the client.") raftBindPort := flag.Uint("raft-port", 7481, "Port to use for intra-cluster communication. Leave on the client.")
mlBindPort := flag.Uint("memberlist-port", 7946, "Port to use for memberlist communication.") mlBindPort := flag.Uint("memberlist-port", 7946, "Port to use for memberlist communication.")
inMemory := flag.Bool("in-memory", false, "Whether to use memory or persistent storage for raft logs and snapshots.") inMemory := flag.Bool("in-memory", false, "Whether to use memory or persistent storage for raft logs and snapshots.")
@@ -142,8 +142,8 @@ There is no limit by default.`, func(memory string) error {
aclConfig := flag.String("acl-config", "", "ACL config file path.") aclConfig := flag.String("acl-config", "", "ACL config file path.")
snapshotThreshold := flag.Uint64("snapshot-threshold", 1000, "The number of entries that trigger a snapshot. Default is 1000.") snapshotThreshold := flag.Uint64("snapshot-threshold", 1000, "The number of entries that trigger a snapshot. Default is 1000.")
snapshotInterval := flag.Duration("snapshot-interval", 5*time.Minute, "The time interval between snapshots (in seconds). Default is 5 minutes.") snapshotInterval := flag.Duration("snapshot-interval", 5*time.Minute, "The time interval between snapshots (in seconds). Default is 5 minutes.")
restoreSnapshot := flag.Bool("restore-snapshot", false, "This flag prompts the server to restore state from snapshot when set to true. Only works in standalone mode. Higher priority than restoreAOF.") restoreSnapshot := flag.Bool("restore-snapshot", false, "This flag prompts the echovault to restore state from snapshot when set to true. Only works in standalone mode. Higher priority than restoreAOF.")
restoreAOF := flag.Bool("restore-aof", false, "This flag prompts the server to restore state from append-only logs. Only works in standalone mode. Lower priority than restoreSnapshot.") restoreAOF := flag.Bool("restore-aof", false, "This flag prompts the echovault to restore state from append-only logs. Only works in standalone mode. Lower priority than restoreSnapshot.")
evictionSample := flag.Uint("eviction-sample", 20, "An integer specifying the number of keys to sample when checking for expired keys.") evictionSample := flag.Uint("eviction-sample", 20, "An integer specifying the number of keys to sample when checking for expired keys.")
evictionInterval := flag.Duration("eviction-interval", 100*time.Millisecond, "The interval between each sampling of keys to evict.") evictionInterval := flag.Duration("eviction-interval", 100*time.Millisecond, "The interval between each sampling of keys to evict.")
forwardCommand := flag.Bool( forwardCommand := flag.Bool(
@@ -153,7 +153,7 @@ There is no limit by default.`, func(memory string) error {
requirePass := flag.Bool( requirePass := flag.Bool(
"require-pass", "require-pass",
false, false,
"Whether the server should require a password before allowing commands. Default is false.", "Whether the echovault should require a password before allowing commands. Default is false.",
) )
password := flag.String( password := flag.String(
"password", "password",