gvisor/pkg/state/BUILD

101 lines
2.2 KiB
Python

load("//tools:defs.bzl", "go_library")
load("//tools/go_generics:defs.bzl", "go_template_instance")
package(licenses = ["notice"])
go_template_instance(
name = "pending_list",
out = "pending_list.go",
package = "state",
prefix = "pending",
template = "//pkg/ilist:generic_list",
types = {
"Element": "*objectEncodeState",
"ElementMapper": "pendingMapper",
"Linker": "*pendingEntry",
},
)
go_template_instance(
name = "deferred_list",
out = "deferred_list.go",
package = "state",
prefix = "deferred",
template = "//pkg/ilist:generic_list",
types = {
"Element": "*objectEncodeState",
"ElementMapper": "deferredMapper",
"Linker": "*deferredEntry",
},
)
go_template_instance(
name = "complete_list",
out = "complete_list.go",
package = "state",
prefix = "complete",
template = "//pkg/ilist:generic_list",
types = {
"Element": "*objectDecodeState",
"Linker": "*objectDecodeState",
},
)
go_template_instance(
name = "addr_range",
out = "addr_range.go",
package = "state",
prefix = "addr",
template = "//pkg/segment:generic_range",
types = {
"T": "uintptr",
},
)
go_template_instance(
name = "addr_set",
out = "addr_set.go",
consts = {
"minDegree": "10",
},
imports = {
"reflect": "reflect",
},
package = "state",
prefix = "addr",
template = "//pkg/segment:generic_set",
types = {
"Key": "uintptr",
"Range": "addrRange",
"Value": "*objectEncodeState",
"Functions": "addrSetFunctions",
},
)
go_library(
name = "state",
srcs = [
"addr_range.go",
"addr_set.go",
"complete_list.go",
"decode.go",
"decode_unsafe.go",
"deferred_list.go",
"encode.go",
"encode_unsafe.go",
"pending_list.go",
"state.go",
"state_norace.go",
"state_race.go",
"stats.go",
"types.go",
],
marshal = False,
stateify = False,
visibility = ["//:sandbox"],
deps = [
"//pkg/log",
"//pkg/state/wire",
],
)