mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2024-12-12 16:50:28 +01:00
1e7b32490d
This allows for building GoToSocial with [SQLite transpiled to WASM](https://github.com/ncruces/go-sqlite3) and accessed through [Wazero](https://wazero.io/).
22 lines
492 B
Go
22 lines
492 B
Go
//go:build !(darwin || linux) || !(amd64 || arm64 || riscv64) || sqlite3_noshm || sqlite3_nosys
|
|
|
|
package util
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/tetratelabs/wazero/experimental"
|
|
)
|
|
|
|
type mmapState struct{}
|
|
|
|
func withAllocator(ctx context.Context) context.Context {
|
|
return experimental.WithMemoryAllocator(ctx,
|
|
experimental.MemoryAllocatorFunc(func(cap, max uint64) experimental.LinearMemory {
|
|
if cap == max {
|
|
return virtualAlloc(cap, max)
|
|
}
|
|
return sliceAlloc(cap, max)
|
|
}))
|
|
}
|