{"action":"opened","issue":{"url":"https://api.github.com/repos/flux-framework/flux-core/issues/178","labels_url":"https://api.github.com/repos/flux-framework/flux-core/issues/178/labels{/name}","comments_url":"https://api.github.com/repos/flux-framework/flux-core/issues/178/comments","events_url":"https://api.github.com/repos/flux-framework/flux-core/issues/178/events","html_url":"https://github.com/flux-framework/flux-core/issues/178","id":73675890,"number":178,"title":"implement generic flux_open()","user":{"login":"garlick","id":169947,"avatar_url":"https://avatars.githubusercontent.com/u/169947?v=3","gravatar_id":"","url":"https://api.github.com/users/garlick","html_url":"https://github.com/garlick","followers_url":"https://api.github.com/users/garlick/followers","following_url":"https://api.github.com/users/garlick/following{/other_user}","gists_url":"https://api.github.com/users/garlick/gists{/gist_id}","starred_url":"https://api.github.com/users/garlick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garlick/subscriptions","organizations_url":"https://api.github.com/users/garlick/orgs","repos_url":"https://api.github.com/users/garlick/repos","events_url":"https://api.github.com/users/garlick/events{/privacy}","received_events_url":"https://api.github.com/users/garlick/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-05-06T16:49:43Z","updated_at":"2015-05-06T16:49:43Z","closed_at":null,"body":"Implement a generic handle create/destroy function that selects the back end handle implementation by parsing the URI argument:\r\n```\r\n/* Open flags\r\n */\r\nenum {\r\n    FLUX_O_TRACE        = 1,    /* send message trace to stderr */\r\n    FLUX_O_COPROC       = 2,    /* start reactor callbacks as coprocesses */\r\n};\r\n/* Create/destroy a broker handle.\r\n * The 'uri' scheme name selects a handle implementation to dynamically load.\r\n * The rest of the URI is parsed in an implementation-specific manner.\r\n * A NULL uri selects the \"local\" implementation with socket path derived\r\n * from the FLUX_TMPDIR environment variable.\r\n */\r\nflux_t flux_open (const char *uri, int flags);\r\nvoid flux_close (flux_t h);\r\n```"}}