Documentation
¶
Index ¶
- Constants
- type Compare
- type Store
- func (s Store) Bytes() []byte
- func (s Store) CreateAt() uint64
- func (s Store) Int() (int, error)
- func (s Store) JSON(dest interface{}) error
- func (s Store) Length(all ...bool) uint64
- func (s Store) MaxAge() uint64
- func (s Store) SetLength(length uint64) Store
- func (s Store) SetMaxAge(maxAge uint64) Store
- func (s Store) SetUpdateAt(date uint64) Store
- func (s Store) Text() string
- func (s Store) UpdateAt() uint64
- func (s Store) Values() []byte
Constants ¶
const ( CreateAtIndex = 0 // Indeks untuk waktu pembuatan dalam penyimpanan UpdateAtIndex = 8 // Indeks untuk waktu pembaruan dalam penyimpanan MaxAgeIndex = 16 // Indeks untuk usia maksimum data dalam penyimpanan LengthIndex = 24 // Indeks untuk panjang data yang disimpan DataStartIndex = 32 // Indeks awal untuk data aktual dalam penyimpanan )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Compare ¶
type Compare interface {
uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64 | float32 | float64 | int | uint | string | any
}
Compare adalah interface yang mendefinisikan tipe data yang dapat dibandingkan. Interface ini mencakup berbagai tipe numerik, string, dan tipe data lainnya yang dapat digunakan dalam operasi perbandingan. Tipe yang diizinkan mencakup uint8, uint16, uint32, uint64, int8, int16, int32, int64, float32, float64, serta tipe dasar int, uint, string, dan any.
type Store ¶
type Store []byte
Store adalah tipe data yang merepresentasikan sekumpulan byte. Tipe ini dapat digunakan untuk menyimpan data biner dalam bentuk slice byte.
func NewStore ¶
NewStore membuat penyimpanan baru dengan metadata dan data yang diberikan. Fungsi ini menginisialisasi struktur penyimpanan dengan waktu pembuatan, waktu pembaruan (default ke nol), usia maksimum, panjang data, dan data aktual.
Parameter: - data: Data biner yang akan disimpan. - maxAge: Usia maksimum yang diperbolehkan untuk data (opsional).
Mengembalikan: - Store: Struktur penyimpanan yang berisi metadata dan data yang diberikan.
func ParseStore ¶
ParseStore menguraikan data byte dan mengembalikan Store yang sesuai. Fungsi ini memastikan bahwa data memiliki panjang yang cukup untuk mencakup semua metadata yang diperlukan sebelum mengembalikannya.
Parameter: - data: Data biner yang akan diuraikan menjadi Store.
Mengembalikan: - Store: Struktur penyimpanan yang berisi metadata dan data yang diberikan. - Jika data tidak valid, kembalikan Store kosong.
func (Store) Bytes ¶
Bytes mengembalikan data yang disimpan dalam store sebagai slice byte. Fungsi ini mengambil bagian dari store yang dimulai dari indeks DataStartIndex hingga akhir, memberikan akses langsung ke data mentah yang disimpan.
Mengembalikan:
- []byte: Slice byte yang berisi data yang disimpan dalam store, dimulai dari DataStartIndex.
func (Store) CreateAt ¶
CreateAt mengembalikan timestamp saat store dibuat. Fungsi ini mengambil nilai timestamp dari indeks yang ditentukan dalam struktur Store. Timestamp ini disimpan dalam format big-endian di dalam byte slice `s` pada rentang indeks dari CreateAtIndex hingga UpdateAtIndex.
Mengembalikan:
- uint64: Timestamp dalam format Unix yang menunjukkan waktu pembuatan dari store dalam milidetik.
func (Store) Int ¶
Int mengembalikan data yang disimpan dalam store sebagai int. Fungsi ini memeriksa apakah panjang data mencukupi untuk konversi ke int. Jika panjang data kurang dari 8 byte, akan mengembalikan kesalahan.
Mengembalikan:
- int: Data yang disimpan dalam store, dikonversi dari byte ke int.
- error: Kesalahan jika panjang data tidak mencukupi untuk konversi.
func (Store) JSON ¶
JSON meng-unmarshal data JSON yang disimpan ke dalam struktur tujuan yang diberikan. Fungsi ini menggunakan json.Unmarshal untuk mengonversi byte slice yang berisi data JSON menjadi tipe data yang ditentukan oleh parameter dest.
Parameter:
- dest: Sebuah interface{} yang akan diisi dengan data dari JSON yang disimpan. Struktur tujuan harus cocok dengan format data JSON yang disimpan.
Mengembalikan:
- error: Mengembalikan error jika terjadi masalah selama unmarshalling, atau nil jika berhasil.
func (Store) Length ¶
Length mengembalikan panjang data yang disimpan dalam store. Jika parameter opsional `all` diisi dan bernilai true, maka panjang keseluruhan store akan dikembalikan. Jika tidak, fungsi ini akan membaca nilai panjang dari indeks yang ditentukan (LengthIndex) dan mengembalikannya sebagai uint64.
Parameter: - all (opsional): Jika diisi true, mengembalikan panjang seluruh store.
Mengembalikan: - uint64: Panjang data yang disimpan atau panjang keseluruhan store jika all true.
func (Store) MaxAge ¶
MaxAge mengembalikan usia maksimum yang disimpan dalam store. Fungsi ini mengambil 8 byte dari penyimpanan, dimulai dari indeks MaxAgeIndex dan mengonversinya menjadi uint64.
Mengembalikan:
- uint64: Usia maksimum yang disimpan dalam store.
func (Store) SetLength ¶
SetLength menetapkan panjang data yang disimpan dalam store. Fungsi ini menerima parameter `length` yang merupakan panjang data yang ingin disimpan, dan mengupdate nilai panjang di dalam store pada indeks yang ditentukan (LengthIndex).
Parameter: - length (uint64): Panjang data yang akan disimpan di dalam store.
Mengembalikan:
- Store: Mengembalikan instance Store yang telah diperbarui dengan panjang data baru.
func (Store) SetMaxAge ¶
SetMaxAge mengatur usia maksimum yang disimpan dalam store. Fungsi ini menerima nilai maxAge sebagai parameter dan menyimpannya dalam penyimpanan mulai dari indeks MaxAgeIndex. Jika panjang data tidak mencukupi untuk menyimpan usia maksimum, fungsi ini akan mengembalikan kesalahan.
Parameter:
- maxAge: Usia maksimum yang ingin diatur dalam store.
Mengembalikan:
- Store: Struktur penyimpanan yang diperbarui dengan usia maksimum baru.
func (Store) SetUpdateAt ¶
SetUpdateAt menetapkan timestamp terakhir kali store diperbarui. Fungsi ini menerima parameter `date` yang merupakan timestamp dalam format Unix dan mengupdate nilai timestamp di dalam store pada indeks yang ditentukan (UpdateAtIndex hingga MaxAgeIndex).
Parameter:
- date (uint64): Timestamp dalam format Unix yang menunjukkan waktu saat store diperbarui.
Mengembalikan:
- Store: Mengembalikan instance Store yang telah diperbarui dengan timestamp baru.
func (Store) Text ¶
Text mengembalikan data yang disimpan dalam store sebagai string. Fungsi ini mengambil slice byte yang dimulai dari indeks DataStartIndex hingga akhir slice dan mengkonversinya menjadi string.
Mengembalikan:
- string: Data yang disimpan dalam store, dikonversi dari byte ke string.
func (Store) UpdateAt ¶
UpdateAt mengembalikan timestamp terakhir kali store diperbarui. Fungsi ini mengambil nilai timestamp dari indeks yang ditentukan dalam struktur Store. Timestamp ini disimpan dalam format big-endian di dalam byte slice `s` pada rentang indeks dari UpdateAtIndex hingga MaxAgeIndex.
Mengembalikan:
- uint64: Timestamp dalam format Unix yang menunjukkan waktu terakhir pembaruan dari store dalam milidetik. Nilai ini akan bernilai nol jika store belum pernah diperbarui.