OLD | NEW |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |