varnish 0.7.0

A Rust framework for creating Varnish Caching Proxy extensions
Documentation
---
source: varnish-macros/src/tests.rs
---
VmodInfo {
    params: VmodParams {
        docs: None,
    },
    ident: "obj",
    docs: "",
    funcs: [],
    objects: [
        ObjInfo {
            ident: "kv1",
            docs: "",
            constructors: [
                FuncInfo {
                    func_type: Constructor,
                    ident: "kv1",
                    vcl_name: None,
                    docs: "",
                    has_optional_args: true,
                    args: [
                        ParamTypeInfo {
                            ident: "cap",
                            docs: "",
                            ty: Value(
                                ParamInfo {
                                    kind: Optional,
                                    default: Null,
                                    ty_info: I64,
                                },
                            ),
                        },
                    ],
                    output_ty: SelfType,
                    out_result: false,
                    restrict: [],
                },
            ],
            destructor: FuncInfo {
                func_type: Destructor,
                ident: "_fini",
                vcl_name: None,
                docs: "",
                has_optional_args: false,
                args: [],
                output_ty: Default,
                out_result: false,
                restrict: [],
            },
            funcs: [
                FuncInfo {
                    func_type: Method,
                    ident: "set",
                    vcl_name: None,
                    docs: "",
                    has_optional_args: false,
                    args: [
                        ParamTypeInfo {
                            ident: "self",
                            docs: "",
                            ty: SelfType,
                        },
                        ParamTypeInfo {
                            ident: "key",
                            docs: "",
                            ty: Value(
                                ParamInfo {
                                    kind: Regular,
                                    default: Null,
                                    ty_info: Str,
                                },
                            ),
                        },
                        ParamTypeInfo {
                            ident: "value",
                            docs: "",
                            ty: Value(
                                ParamInfo {
                                    kind: Regular,
                                    default: Null,
                                    ty_info: Str,
                                },
                            ),
                        },
                    ],
                    output_ty: Default,
                    out_result: false,
                    restrict: [],
                },
                FuncInfo {
                    func_type: Method,
                    ident: "get",
                    vcl_name: None,
                    docs: "",
                    has_optional_args: false,
                    args: [
                        ParamTypeInfo {
                            ident: "self",
                            docs: "",
                            ty: SelfType,
                        },
                        ParamTypeInfo {
                            ident: "key",
                            docs: "",
                            ty: Value(
                                ParamInfo {
                                    kind: Regular,
                                    default: Null,
                                    ty_info: Str,
                                },
                            ),
                        },
                    ],
                    output_ty: String,
                    out_result: false,
                    restrict: [],
                },
            ],
        },
        ObjInfo {
            ident: "kv2",
            docs: "",
            constructors: [
                FuncInfo {
                    func_type: Constructor,
                    ident: "kv2",
                    vcl_name: None,
                    docs: "",
                    has_optional_args: true,
                    args: [
                        ParamTypeInfo {
                            ident: "cap",
                            docs: "",
                            ty: Value(
                                ParamInfo {
                                    kind: Optional,
                                    default: Null,
                                    ty_info: I64,
                                },
                            ),
                        },
                        ParamTypeInfo {
                            ident: "name",
                            docs: "",
                            ty: VclName(
                                ParamInfo {
                                    kind: Regular,
                                    default: Null,
                                    ty_info: Str,
                                },
                            ),
                        },
                    ],
                    output_ty: SelfType,
                    out_result: false,
                    restrict: [],
                },
            ],
            destructor: FuncInfo {
                func_type: Destructor,
                ident: "_fini",
                vcl_name: None,
                docs: "",
                has_optional_args: false,
                args: [],
                output_ty: Default,
                out_result: false,
                restrict: [],
            },
            funcs: [
                FuncInfo {
                    func_type: Method,
                    ident: "set",
                    vcl_name: None,
                    docs: "",
                    has_optional_args: true,
                    args: [
                        ParamTypeInfo {
                            ident: "self",
                            docs: "",
                            ty: SelfType,
                        },
                        ParamTypeInfo {
                            ident: "key",
                            docs: "",
                            ty: Value(
                                ParamInfo {
                                    kind: Regular,
                                    default: Null,
                                    ty_info: Str,
                                },
                            ),
                        },
                        ParamTypeInfo {
                            ident: "value",
                            docs: "",
                            ty: Value(
                                ParamInfo {
                                    kind: Optional,
                                    default: Null,
                                    ty_info: Str,
                                },
                            ),
                        },
                    ],
                    output_ty: Default,
                    out_result: false,
                    restrict: [],
                },
            ],
        },
        ObjInfo {
            ident: "kv3",
            docs: "",
            constructors: [
                FuncInfo {
                    func_type: Constructor,
                    ident: "kv3",
                    vcl_name: None,
                    docs: "",
                    has_optional_args: true,
                    args: [
                        ParamTypeInfo {
                            ident: "ctx",
                            docs: "",
                            ty: Context {
                                is_mut: true,
                            },
                        },
                        ParamTypeInfo {
                            ident: "cap",
                            docs: "",
                            ty: Value(
                                ParamInfo {
                                    kind: Optional,
                                    default: Null,
                                    ty_info: I64,
                                },
                            ),
                        },
                        ParamTypeInfo {
                            ident: "name",
                            docs: "",
                            ty: VclName(
                                ParamInfo {
                                    kind: Regular,
                                    default: Null,
                                    ty_info: Str,
                                },
                            ),
                        },
                    ],
                    output_ty: SelfType,
                    out_result: false,
                    restrict: [],
                },
            ],
            destructor: FuncInfo {
                func_type: Destructor,
                ident: "_fini",
                vcl_name: None,
                docs: "",
                has_optional_args: false,
                args: [],
                output_ty: Default,
                out_result: false,
                restrict: [],
            },
            funcs: [
                FuncInfo {
                    func_type: Method,
                    ident: "set",
                    vcl_name: None,
                    docs: "",
                    has_optional_args: true,
                    args: [
                        ParamTypeInfo {
                            ident: "self",
                            docs: "",
                            ty: SelfType,
                        },
                        ParamTypeInfo {
                            ident: "ctx",
                            docs: "",
                            ty: Context {
                                is_mut: true,
                            },
                        },
                        ParamTypeInfo {
                            ident: "key",
                            docs: "",
                            ty: Value(
                                ParamInfo {
                                    kind: Regular,
                                    default: Null,
                                    ty_info: Str,
                                },
                            ),
                        },
                        ParamTypeInfo {
                            ident: "value",
                            docs: "",
                            ty: Value(
                                ParamInfo {
                                    kind: Optional,
                                    default: Null,
                                    ty_info: Str,
                                },
                            ),
                        },
                    ],
                    output_ty: Default,
                    out_result: false,
                    restrict: [],
                },
            ],
        },
    ],
    shared_types: SharedTypes {
        shared_per_task_ty: None,
        shared_per_vcl_ty: None,
    },
}