Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(124)

Side by Side Diff: ppapi/shared_impl/private/udp_socket_private_impl.cc

Issue 9212047: Add GetBoundAddress to PPB_UDPSocket_Private (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: a few small changes after self review Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ppapi/shared_impl/private/udp_socket_private_impl.h" 5 #include "ppapi/shared_impl/private/udp_socket_private_impl.h"
6 6
7 #include <string.h> 7 #include <string.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 10
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 115
116 SendClose(); 116 SendClose();
117 117
118 socket_id_ = 0; 118 socket_id_ = 0;
119 119
120 PostAbortIfNecessary(&bind_callback_); 120 PostAbortIfNecessary(&bind_callback_);
121 PostAbortIfNecessary(&recvfrom_callback_); 121 PostAbortIfNecessary(&recvfrom_callback_);
122 PostAbortIfNecessary(&sendto_callback_); 122 PostAbortIfNecessary(&sendto_callback_);
123 } 123 }
124 124
125 void UDPSocketPrivateImpl::OnBindCompleted(bool succeeded) { 125 void UDPSocketPrivateImpl::OnBindCompleted(
126 bool succeeded,
127 uint32 bound_port) {
126 if (!TrackedCallback::IsPending(bind_callback_)) { 128 if (!TrackedCallback::IsPending(bind_callback_)) {
127 NOTREACHED(); 129 NOTREACHED();
128 return; 130 return;
129 } 131 }
130 132
131 if (succeeded) 133 if (succeeded)
132 bound_ = true; 134 bound_ = true;
133 135
134 TrackedCallback::ClearAndRun(&bind_callback_, 136 TrackedCallback::ClearAndRun(&bind_callback_,
135 succeeded ? PP_OK : PP_ERROR_FAILED); 137 succeeded ? static_cast<int32_t>(bound_port) : PP_ERROR_FAILED);
136 } 138 }
137 139
138 void UDPSocketPrivateImpl::OnRecvFromCompleted( 140 void UDPSocketPrivateImpl::OnRecvFromCompleted(
139 bool succeeded, 141 bool succeeded,
140 const std::string& data, 142 const std::string& data,
141 const PP_NetAddress_Private& addr) { 143 const PP_NetAddress_Private& addr) {
142 if (!TrackedCallback::IsPending(recvfrom_callback_) || !read_buffer_) { 144 if (!TrackedCallback::IsPending(recvfrom_callback_) || !read_buffer_) {
143 NOTREACHED(); 145 NOTREACHED();
144 return; 146 return;
145 } 147 }
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 arraysize(recvfrom_addr_.data) * sizeof(*recvfrom_addr_.data)); 184 arraysize(recvfrom_addr_.data) * sizeof(*recvfrom_addr_.data));
183 } 185 }
184 186
185 void UDPSocketPrivateImpl::PostAbortIfNecessary( 187 void UDPSocketPrivateImpl::PostAbortIfNecessary(
186 scoped_refptr<TrackedCallback>* callback) { 188 scoped_refptr<TrackedCallback>* callback) {
187 if (callback->get()) 189 if (callback->get())
188 (*callback)->PostAbort(); 190 (*callback)->PostAbort();
189 } 191 }
190 192
191 } // namespace ppapi 193 } // namespace ppapi
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698