varnish 0.6.0

A Rust framework for creating Varnish Caching Proxy extensions
Documentation
---
source: varnish-macros/src/tests.rs
---
VmodInfo {
    params: VmodParams {
        docs: None,
    },
    ident: "obj2",
    docs: "",
    funcs: [],
    objects: [
        ObjInfo {
            ident: "Obj1",
            docs: "",
            constructor: FuncInfo {
                func_type: Constructor,
                ident: "new",
                docs: "",
                has_optional_args: true,
                args: [
                    ParamTypeInfo {
                        ident: "vcl",
                        docs: "",
                        ty: SharedPerVclMut,
                    },
                    ParamTypeInfo {
                        ident: "val",
                        docs: "",
                        ty: Value(
                            ParamInfo {
                                kind: Optional,
                                default: Null,
                                ty_info: I64,
                            },
                        ),
                    },
                ],
                output_ty: SelfType,
                out_result: false,
            },
            destructor: FuncInfo {
                func_type: Destructor,
                ident: "_fini",
                docs: "",
                has_optional_args: false,
                args: [],
                output_ty: Default,
                out_result: false,
            },
            funcs: [],
        },
        ObjInfo {
            ident: "Obj2",
            docs: "",
            constructor: FuncInfo {
                func_type: Constructor,
                ident: "new",
                docs: "",
                has_optional_args: false,
                args: [
                    ParamTypeInfo {
                        ident: "vcl",
                        docs: "",
                        ty: SharedPerVclMut,
                    },
                    ParamTypeInfo {
                        ident: "val",
                        docs: "",
                        ty: Value(
                            ParamInfo {
                                kind: Regular,
                                default: Null,
                                ty_info: I64,
                            },
                        ),
                    },
                ],
                output_ty: SelfType,
                out_result: false,
            },
            destructor: FuncInfo {
                func_type: Destructor,
                ident: "_fini",
                docs: "",
                has_optional_args: false,
                args: [],
                output_ty: Default,
                out_result: false,
            },
            funcs: [],
        },
        ObjInfo {
            ident: "Obj3",
            docs: "",
            constructor: FuncInfo {
                func_type: Constructor,
                ident: "new",
                docs: "",
                has_optional_args: true,
                args: [
                    ParamTypeInfo {
                        ident: "ctx",
                        docs: "",
                        ty: Context {
                            is_mut: true,
                        },
                    },
                    ParamTypeInfo {
                        ident: "vcl",
                        docs: "",
                        ty: SharedPerVclMut,
                    },
                    ParamTypeInfo {
                        ident: "val",
                        docs: "",
                        ty: Value(
                            ParamInfo {
                                kind: Optional,
                                default: Null,
                                ty_info: I64,
                            },
                        ),
                    },
                ],
                output_ty: SelfType,
                out_result: false,
            },
            destructor: FuncInfo {
                func_type: Destructor,
                ident: "_fini",
                docs: "",
                has_optional_args: false,
                args: [],
                output_ty: Default,
                out_result: false,
            },
            funcs: [],
        },
        ObjInfo {
            ident: "Obj4",
            docs: "",
            constructor: FuncInfo {
                func_type: Constructor,
                ident: "new",
                docs: "",
                has_optional_args: false,
                args: [
                    ParamTypeInfo {
                        ident: "ctx",
                        docs: "",
                        ty: Context {
                            is_mut: true,
                        },
                    },
                    ParamTypeInfo {
                        ident: "vcl",
                        docs: "",
                        ty: SharedPerVclMut,
                    },
                    ParamTypeInfo {
                        ident: "val",
                        docs: "",
                        ty: Value(
                            ParamInfo {
                                kind: Regular,
                                default: Null,
                                ty_info: I64,
                            },
                        ),
                    },
                ],
                output_ty: SelfType,
                out_result: false,
            },
            destructor: FuncInfo {
                func_type: Destructor,
                ident: "_fini",
                docs: "",
                has_optional_args: false,
                args: [],
                output_ty: Default,
                out_result: false,
            },
            funcs: [],
        },
    ],
    shared_types: SharedTypes {
        shared_per_task_ty: None,
        shared_per_vcl_ty: Some(
            "PerVcl",
        ),
    },
}