{"action":"created","issue":{"url":"https://api.github.com/repos/apache/trafficserver/issues/753","repository_url":"https://api.github.com/repos/apache/trafficserver","labels_url":"https://api.github.com/repos/apache/trafficserver/issues/753/labels{/name}","comments_url":"https://api.github.com/repos/apache/trafficserver/issues/753/comments","events_url":"https://api.github.com/repos/apache/trafficserver/issues/753/events","html_url":"https://github.com/apache/trafficserver/pull/753","id":162657326,"number":753,"title":"Proposal: NetVC Context","user":{"login":"oknet","id":5242289,"avatar_url":"https://avatars.githubusercontent.com/u/5242289?v=3","gravatar_id":"","url":"https://api.github.com/users/oknet","html_url":"https://github.com/oknet","followers_url":"https://api.github.com/users/oknet/followers","following_url":"https://api.github.com/users/oknet/following{/other_user}","gists_url":"https://api.github.com/users/oknet/gists{/gist_id}","starred_url":"https://api.github.com/users/oknet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oknet/subscriptions","organizations_url":"https://api.github.com/users/oknet/orgs","repos_url":"https://api.github.com/users/oknet/repos","events_url":"https://api.github.com/users/oknet/events{/privacy}","received_events_url":"https://api.github.com/users/oknet/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/apache/trafficserver/labels/Core","name":"Core","color":"006b75"}],"state":"open","locked":false,"assignee":{"login":"jpeach","id":9917,"avatar_url":"https://avatars.githubusercontent.com/u/9917?v=3","gravatar_id":"","url":"https://api.github.com/users/jpeach","html_url":"https://github.com/jpeach","followers_url":"https://api.github.com/users/jpeach/followers","following_url":"https://api.github.com/users/jpeach/following{/other_user}","gists_url":"https://api.github.com/users/jpeach/gists{/gist_id}","starred_url":"https://api.github.com/users/jpeach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jpeach/subscriptions","organizations_url":"https://api.github.com/users/jpeach/orgs","repos_url":"https://api.github.com/users/jpeach/repos","events_url":"https://api.github.com/users/jpeach/events{/privacy}","received_events_url":"https://api.github.com/users/jpeach/received_events","type":"User","site_admin":false},"assignees":[{"login":"jpeach","id":9917,"avatar_url":"https://avatars.githubusercontent.com/u/9917?v=3","gravatar_id":"","url":"https://api.github.com/users/jpeach","html_url":"https://github.com/jpeach","followers_url":"https://api.github.com/users/jpeach/followers","following_url":"https://api.github.com/users/jpeach/following{/other_user}","gists_url":"https://api.github.com/users/jpeach/gists{/gist_id}","starred_url":"https://api.github.com/users/jpeach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jpeach/subscriptions","organizations_url":"https://api.github.com/users/jpeach/orgs","repos_url":"https://api.github.com/users/jpeach/repos","events_url":"https://api.github.com/users/jpeach/events{/privacy}","received_events_url":"https://api.github.com/users/jpeach/received_events","type":"User","site_admin":false},{"login":"maskit","id":153144,"avatar_url":"https://avatars.githubusercontent.com/u/153144?v=3","gravatar_id":"","url":"https://api.github.com/users/maskit","html_url":"https://github.com/maskit","followers_url":"https://api.github.com/users/maskit/followers","following_url":"https://api.github.com/users/maskit/following{/other_user}","gists_url":"https://api.github.com/users/maskit/gists{/gist_id}","starred_url":"https://api.github.com/users/maskit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/maskit/subscriptions","organizations_url":"https://api.github.com/users/maskit/orgs","repos_url":"https://api.github.com/users/maskit/repos","events_url":"https://api.github.com/users/maskit/events{/privacy}","received_events_url":"https://api.github.com/users/maskit/received_events","type":"User","site_admin":false},{"login":"shinrich","id":334488,"avatar_url":"https://avatars.githubusercontent.com/u/334488?v=3","gravatar_id":"","url":"https://api.github.com/users/shinrich","html_url":"https://github.com/shinrich","followers_url":"https://api.github.com/users/shinrich/followers","following_url":"https://api.github.com/users/shinrich/following{/other_user}","gists_url":"https://api.github.com/users/shinrich/gists{/gist_id}","starred_url":"https://api.github.com/users/shinrich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shinrich/subscriptions","organizations_url":"https://api.github.com/users/shinrich/orgs","repos_url":"https://api.github.com/users/shinrich/repos","events_url":"https://api.github.com/users/shinrich/events{/privacy}","received_events_url":"https://api.github.com/users/shinrich/received_events","type":"User","site_admin":false},{"login":"masaori335","id":741391,"avatar_url":"https://avatars.githubusercontent.com/u/741391?v=3","gravatar_id":"","url":"https://api.github.com/users/masaori335","html_url":"https://github.com/masaori335","followers_url":"https://api.github.com/users/masaori335/followers","following_url":"https://api.github.com/users/masaori335/following{/other_user}","gists_url":"https://api.github.com/users/masaori335/gists{/gist_id}","starred_url":"https://api.github.com/users/masaori335/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/masaori335/subscriptions","organizations_url":"https://api.github.com/users/masaori335/orgs","repos_url":"https://api.github.com/users/masaori335/repos","events_url":"https://api.github.com/users/masaori335/events{/privacy}","received_events_url":"https://api.github.com/users/masaori335/received_events","type":"User","site_admin":false},{"login":"SolidWallOfCode","id":1545753,"avatar_url":"https://avatars.githubusercontent.com/u/1545753?v=3","gravatar_id":"","url":"https://api.github.com/users/SolidWallOfCode","html_url":"https://github.com/SolidWallOfCode","followers_url":"https://api.github.com/users/SolidWallOfCode/followers","following_url":"https://api.github.com/users/SolidWallOfCode/following{/other_user}","gists_url":"https://api.github.com/users/SolidWallOfCode/gists{/gist_id}","starred_url":"https://api.github.com/users/SolidWallOfCode/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SolidWallOfCode/subscriptions","organizations_url":"https://api.github.com/users/SolidWallOfCode/orgs","repos_url":"https://api.github.com/users/SolidWallOfCode/repos","events_url":"https://api.github.com/users/SolidWallOfCode/events{/privacy}","received_events_url":"https://api.github.com/users/SolidWallOfCode/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/apache/trafficserver/milestones/1","html_url":"https://github.com/apache/trafficserver/milestones/7.0.0","labels_url":"https://api.github.com/repos/apache/trafficserver/milestones/1/labels","id":1751566,"number":1,"title":"7.0.0","description":"","creator":{"login":"zwoop","id":202131,"avatar_url":"https://avatars.githubusercontent.com/u/202131?v=3","gravatar_id":"","url":"https://api.github.com/users/zwoop","html_url":"https://github.com/zwoop","followers_url":"https://api.github.com/users/zwoop/followers","following_url":"https://api.github.com/users/zwoop/following{/other_user}","gists_url":"https://api.github.com/users/zwoop/gists{/gist_id}","starred_url":"https://api.github.com/users/zwoop/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zwoop/subscriptions","organizations_url":"https://api.github.com/users/zwoop/orgs","repos_url":"https://api.github.com/users/zwoop/repos","events_url":"https://api.github.com/users/zwoop/events{/privacy}","received_events_url":"https://api.github.com/users/zwoop/received_events","type":"User","site_admin":false},"open_issues":29,"closed_issues":78,"state":"open","created_at":"2016-05-06T14:28:01Z","updated_at":"2016-06-28T15:48:08Z","due_on":"2016-10-15T06:00:00Z","closed_at":null},"comments":6,"created_at":"2016-06-28T10:53:10Z","updated_at":"2016-06-28T15:50:05Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/trafficserver/pulls/753","html_url":"https://github.com/apache/trafficserver/pull/753","diff_url":"https://github.com/apache/trafficserver/pull/753.diff","patch_url":"https://github.com/apache/trafficserver/pull/753.patch"},"body":"Goal 1st:\r\nIn the NetVConnection, we have get_local_addr() and get_remote_addr() methods.\r\nAlso have members local_addr, remote_addr and netvc->con.addr.\r\n\r\nThus, we should using netvc->con.addr or remote_addr to replace member server_addr in UnixNetVConnection.\r\n\r\nGoal 2nd:\r\nSSLNetVConnection has member sslClientConnection with 2 methods setSSLClientConnection() and getSSLClientConnection() to indictor ATS is a client or server in a SSL session.\r\n\r\nTo abstract above two goals, I'm design the netvc context function.\r\n\r\nAs a proxy, there has two side: client side ( Client <-> Proxy ) and server side ( Proxy <-> Server ). With the netvc context funtion to indicate which side the NetVC working on.\r\n\r\nGoal 3rd:\r\nFix a minor bug in NetAccept::do_blocking_accept, call to check_emergency_throttle(con) first then allocate vc.\r\n\r\nGoal 4th:\r\nNetAccept Optimize, remove dup code, etc...\r\n"},"comment":{"url":"https://api.github.com/repos/apache/trafficserver/issues/comments/229092550","html_url":"https://github.com/apache/trafficserver/pull/753#issuecomment-229092550","issue_url":"https://api.github.com/repos/apache/trafficserver/issues/753","id":229092550,"user":{"login":"oknet","id":5242289,"avatar_url":"https://avatars.githubusercontent.com/u/5242289?v=3","gravatar_id":"","url":"https://api.github.com/users/oknet","html_url":"https://github.com/oknet","followers_url":"https://api.github.com/users/oknet/followers","following_url":"https://api.github.com/users/oknet/following{/other_user}","gists_url":"https://api.github.com/users/oknet/gists{/gist_id}","starred_url":"https://api.github.com/users/oknet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oknet/subscriptions","organizations_url":"https://api.github.com/users/oknet/orgs","repos_url":"https://api.github.com/users/oknet/repos","events_url":"https://api.github.com/users/oknet/events{/privacy}","received_events_url":"https://api.github.com/users/oknet/received_events","type":"User","site_admin":false},"created_at":"2016-06-28T15:50:05Z","updated_at":"2016-06-28T15:50:05Z","body":"@shinrich the \"noisy\" in UnixNetAccept, let me explain, there are 3 area to create a new netvc and init its members but disorder, I'm try to make it ordered as below in these 3 area.\r\n\r\n    NET_SUM_GLOBAL_DYN_STAT(net_connections_currently_open_stat, 1); \r\n    vc->id = net_next_connection_number();\r\n    vc->con.move(con);\r\n    vc->submit_time = Thread::get_hrtime();\r\n    vc->mutex  = new_ProxyMutex();\r\n    // no need to set vc->action_\r\n    vc->set_is_transparent(server.f_inbound_transparent);\r\n    vc->options.packet_mark = packet_mark;\r\n    vc->options.packet_tos  = packet_tos;\r\n    vc->apply_options();\r\n    vc->set_context(Net_VConnection_C2P);\r\n    SET_CONTINUATION_HANDLER(vc, (NetVConnHandler)&UnixNetVConnection::mainEvent);\r\n\r\n    // set thread and nh as acceptEvent does\r\n    vc->thread = e->ethread;\r\n    vc->nh = get_NetHandler(e->ethread);"}}
{"actor":{"display_login":"oknet"}}