store

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 25, 2024 License: BSD-3-Clause Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
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

func NewStore(data []byte, maxAge ...uint64) Store

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

func ParseStore(data []byte) Store

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

func (s Store) Bytes() []byte

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

func (s Store) CreateAt() uint64

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

func (s Store) Int() (int, error)

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

func (s Store) JSON(dest interface{}) error

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

func (s Store) Length(all ...bool) uint64

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

func (s Store) MaxAge() uint64

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

func (s Store) SetLength(length uint64) Store

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

func (s Store) SetMaxAge(maxAge uint64) Store

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

func (s Store) SetUpdateAt(date uint64) Store

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

func (s Store) Text() string

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

func (s Store) UpdateAt() uint64

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.

func (Store) Values

func (s Store) Values() []byte

Values mengembalikan seluruh data yang disimpan dalam Store sebagai slice byte. Fungsi ini mengakses nilai yang disimpan di dalam Store dan mengembalikannya tanpa memodifikasi data.

Mengembalikan:

  • []byte: Data yang tersimpan dalam Store dalam bentuk slice byte.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL