{
    "content": [
        {
            "type": "text",
            "text": "# POE::Resource (perldoc)\n\n## NAME\n\nPOE::Resource - internal resource managers for POE::Kernel\n\n## SYNOPSIS\n\nVaries, although most POE::Resource subclasses do not have public APIs.\n\n## DESCRIPTION\n\nPOE manages several types of information internally. Its Resource classes are mix-ins designed\nto manage those types of information behind tidy, mostly private interfaces. This was done to\nfacilitate testing and a conversion to C without the need to port POE::Kernel all at once.\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **SEE ALSO**\n- **BUGS**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "POE::Resource",
        "section": "",
        "mode": "perldoc",
        "summary": "POE::Resource - internal resource managers for POE::Kernel",
        "synopsis": "Varies, although most POE::Resource subclasses do not have public APIs.",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 31,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 5,
                "subsections": []
            },
            {
                "name": "BUGS",
                "lines": 5,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "POE::Resource - internal resource managers for POE::Kernel\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "Varies, although most POE::Resource subclasses do not have public APIs.\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "POE manages several types of information internally. Its Resource classes are mix-ins designed\nto manage those types of information behind tidy, mostly private interfaces. This was done to\nfacilitate testing and a conversion to C without the need to port POE::Kernel all at once.\n\nPOE::Resource subclasses are generally different from one another, but there are some\nsimilarities to note.\n\nEvery resource should have an initializer and finalizer method. Initializers set up initial data\nand link resources into POE::Kernel. Finalizers clean up any remaining data and verify that each\nresource subsystem was left in a consistent state.\n\nOne common theme in resource implementations is that they don't need to perform much error\nchecking, if any. Resource methods are used internally by POE::Kernel and/or POE::API classes,\nso it's up to them to ensure correct usage.\n\nResource methods follow the naming convention data???activity, where ??? is an abbreviation\nfor the type of resource it belongs to:\n\nPOE::Resource::Events      dataevinitialize\nPOE::Resource::FileHandles datahandleinitialize\nPOE::Resource::Signals     datasiginitialize\n\nFinalizer methods end in \"finalize\".\n\ndataevfinalize\ndatahandlefinalize\ndatasigfinalize\n\nFinalizers return true if a resource shut down cleanly, or false if there were inconsistencies\nor leaks during end-of-run checking. The t/res/*.t tests rely on these return values.\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "POE::Resource::Aliases, POE::Resource::Events, POE::Resource::Extrefs,\nPOE::Resource::FileHandles, POE::Resource::SIDs, POE::Resource::Sessions, POE::Resource::Signals\n\nAlso see \"Resources\" in POE::Kernel for public information about POE resources.\n",
                "subsections": []
            },
            "BUGS": {
                "content": "None known.\n\nAUTHORS & LICENSING\nPlease see POE for more information about its authors, contributors, and licensing.\n",
                "subsections": []
            }
        }
    }
}