Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(27)

Issue 198890043: ICE candidates support domain names

Can't Edit
Can't Publish+Mail
Start Review
Created:
9 years, 3 months ago by luczo.laszlo.86
Modified:
9 years, 1 month ago
Reviewers:
juberti1, pthatcher, juberti
CC:
bemasc_google.com
Base URL:
http://webrtc.googlecode.com/svn/branches/38/
Visibility:
Public.

Description

Adding support for domain names in ICE candidates instead of IP addresses. According to https://tools.ietf.org/html/rfc5245 BUG=4165

Patch Set 1 #

Total comments: 24

Patch Set 2 : fix according to comments #

Total comments: 25

Patch Set 3 : fix according to comments 2 #

Total comments: 24

Patch Set 4 : fix according to comments 3 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+331 lines, -0 lines) Patch
M talk/libjingle_tests.gyp View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
A talk/p2p/base/fakeresolver.h View 1 2 3 1 chunk +96 lines, -0 lines 0 comments Download
M talk/p2p/base/fakesession.h View 1 2 3 7 chunks +23 lines, -0 lines 0 comments Download
M talk/p2p/base/transport.h View 1 2 3 4 chunks +23 lines, -0 lines 0 comments Download
M talk/p2p/base/transport.cc View 1 2 3 4 chunks +59 lines, -0 lines 0 comments Download
M talk/p2p/base/transport_unittest.cc View 1 2 3 4 chunks +129 lines, -0 lines 0 comments Download

Messages

Total messages: 9
pthatcher
Needs unit tests. And the description should describe what it does, not the problem it ...
9 years, 3 months ago (2015-01-22 19:53:14 UTC) #1
juberti1
This is headed in the right direction. Please also add a unit test where you ...
9 years, 3 months ago (2015-01-22 23:18:54 UTC) #2
luczo.laszlo.86
https://codereview.appspot.com/198890043/diff/1/talk/p2p/base/transport.cc File talk/p2p/base/transport.cc (right): https://codereview.appspot.com/198890043/diff/1/talk/p2p/base/transport.cc#newcode41 talk/p2p/base/transport.cc:41: #include "webrtc/base/nethelpers.h" On 2015/01/22 19:53:14, pthatcher wrote: > Please ...
9 years, 2 months ago (2015-01-29 13:45:57 UTC) #3
pthatcher
https://codereview.appspot.com/198890043/diff/20001/talk/p2p/base/fakesession.h File talk/p2p/base/fakesession.h (right): https://codereview.appspot.com/198890043/diff/20001/talk/p2p/base/fakesession.h#newcode338 talk/p2p/base/fakesession.h:338: public: Please put one space before "public: " and ...
9 years, 2 months ago (2015-02-03 20:06:51 UTC) #4
luczo.laszlo.86
https://codereview.appspot.com/198890043/diff/20001/talk/p2p/base/fakesession.h File talk/p2p/base/fakesession.h (right): https://codereview.appspot.com/198890043/diff/20001/talk/p2p/base/fakesession.h#newcode338 talk/p2p/base/fakesession.h:338: public: On 2015/02/03 20:06:50, pthatcher wrote: > Please put ...
9 years, 2 months ago (2015-02-16 10:32:27 UTC) #5
luczo.laszlo.86
On 2015/02/16 10:32:27, luczo.laszlo.86 wrote: > https://codereview.appspot.com/198890043/diff/20001/talk/p2p/base/fakesession.h > File talk/p2p/base/fakesession.h (right): > > https://codereview.appspot.com/198890043/diff/20001/talk/p2p/base/fakesession.h#newcode338 > ...
9 years, 1 month ago (2015-02-26 14:18:29 UTC) #6
juberti
Some common style issues: space between if and ( { at end of line, not ...
9 years, 1 month ago (2015-02-26 23:58:09 UTC) #7
juberti
+ben as FYI
9 years, 1 month ago (2015-02-27 04:20:08 UTC) #8
luczo.laszlo.86
9 years, 1 month ago (2015-03-12 12:22:26 UTC) #9
https://codereview.appspot.com/198890043/diff/60001/talk/p2p/base/fakesession.h
File talk/p2p/base/fakesession.h (right):

https://codereview.appspot.com/198890043/diff/60001/talk/p2p/base/fakesession...
talk/p2p/base/fakesession.h:336: class FakeResolver : public
rtc::AsyncResolverInterface
On 2015/02/26 23:58:09, juberti wrote:
> this should go into its own base/fakeresolver.h file

Acknowledged.

https://codereview.appspot.com/198890043/diff/60001/talk/p2p/base/fakesession...
talk/p2p/base/fakesession.h:337: {
On 2015/02/26 23:58:08, juberti wrote:
> style: { at end of line (here and elsewhere)

Acknowledged.

https://codereview.appspot.com/198890043/diff/60001/talk/p2p/base/fakesession...
talk/p2p/base/fakesession.h:340: FakeResolver(int error_code) :
error_code_(error_code) {}
On 2015/02/26 23:58:08, juberti wrote:
> I think this is better handled with a set_error_code mutator, makes for more
> readable code.

Acknowledged.

https://codereview.appspot.com/198890043/diff/60001/talk/p2p/base/fakesession...
talk/p2p/base/fakesession.h:343: SignalDone(this);
On 2015/02/26 23:58:07, juberti wrote:
> Use AsyncInvoke to ensure that this executes asynchronously.

Acknowledged.

https://codereview.appspot.com/198890043/diff/60001/talk/p2p/base/fakesession...
talk/p2p/base/fakesession.h:348: addr->SetIP(0x6F6F6F);
On 2015/02/26 23:58:06, juberti wrote:
> Suggest allowing the IP to return to be set through some set_ip function.
> 
> Needs to work properly for AF_INET and AF_INET6 values for |family|.

Acknowledged.

https://codereview.appspot.com/198890043/diff/60001/talk/p2p/base/fakesession...
talk/p2p/base/fakesession.h:358: virtual void Destroy(bool) {
On 2015/02/26 23:58:07, juberti wrote:
> this should delete itself

Acknowledged.

https://codereview.appspot.com/198890043/diff/60001/talk/p2p/base/fakesession...
talk/p2p/base/fakesession.h:365: class CandidateAsyncResolverObserver : public
sigslot::has_slots<> {
On 2015/02/26 23:58:08, juberti wrote:
> Not clear this is useful.

Called by CandidateAsyncResolver::SignalDone. I will move it to
transport_unittest.cc

https://codereview.appspot.com/198890043/diff/60001/talk/p2p/base/fakesession...
talk/p2p/base/fakesession.h:499: rtc::AsyncResolverInterface* async_resover_;
On 2015/02/26 23:58:08, juberti wrote:
> this should be an internal detail of resolver_

Acknowledged.

https://codereview.appspot.com/198890043/diff/60001/talk/p2p/base/transport.cc
File talk/p2p/base/transport.cc (right):

https://codereview.appspot.com/198890043/diff/60001/talk/p2p/base/transport.c...
talk/p2p/base/transport.cc:1033: SignalDone(candidate_);
On 2015/02/26 23:58:09, juberti wrote:
> I think we want to SignalDone in either case, but still expose an error code
so
> the upper layer code can know if something bad happened

"pthatcher 2015/01/22 19:53:13
We fire OnCadidateReady weven when GetError() != 0?   Shouldn't we log an error
and skip the candidate?"
so I log only error message, but I can notify higher layer if is really needed

https://codereview.appspot.com/198890043/diff/60001/talk/p2p/base/transport.h
File talk/p2p/base/transport.h (right):

https://codereview.appspot.com/198890043/diff/60001/talk/p2p/base/transport.h...
talk/p2p/base/transport.h:193: public rtc::RefCountInterface {
On 2015/02/26 23:58:05, juberti wrote:
> why does this need to be refcounted? We avoid refcounting unless there is a
> clear situation where multiple ownership is necessary.

I call addRef in Start and Release after SignalDone, so this object can delete
itself after SignalDone. I use it so Transport needn't store ref to every
resolver. I could call delete after SignalDone but I thing is an uglier
solution.

https://codereview.appspot.com/198890043/diff/60001/talk/p2p/base/transport.h...
talk/p2p/base/transport.h:198: virtual void Start();
On 2015/02/26 23:58:05, juberti wrote:
> I think it would be better if |candidate| was passed into Start()

Acknowledged.

https://codereview.appspot.com/198890043/diff/60001/talk/p2p/base/transport_u...
File talk/p2p/base/transport_unittest.cc (right):

https://codereview.appspot.com/198890043/diff/60001/talk/p2p/base/transport_u...
talk/p2p/base/transport_unittest.cc:461: TEST_F(TransportTest,
TestCandidateAsyncResolver)
On 2015/02/26 23:58:05, juberti wrote:
> I'm not sure this test delivers all that much value, since it's almost
entirely
> duplicated in the Transport tests below. I would remove them and/or fold any
> worthwhile functionality into those tests.

Which test case do you think of? I can't see which test covers this function.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b