OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 package org.chromium.net; | 5 package org.chromium.net; |
6 | 6 |
7 import android.annotation.SuppressLint; | 7 import android.annotation.SuppressLint; |
8 import android.support.annotation.IntDef; | 8 import android.support.annotation.IntDef; |
9 | 9 |
10 import java.lang.annotation.Retention; | 10 import java.lang.annotation.Retention; |
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
315 * Default implementation takes no action. | 315 * Default implementation takes no action. |
316 * | 316 * |
317 * @param stream the stream that was canceled | 317 * @param stream the stream that was canceled |
318 * @param info the response information. May be {@code null} if no respo
nse was | 318 * @param info the response information. May be {@code null} if no respo
nse was |
319 * received. | 319 * received. |
320 */ | 320 */ |
321 public void onCanceled(BidirectionalStream stream, UrlResponseInfo info)
{} | 321 public void onCanceled(BidirectionalStream stream, UrlResponseInfo info)
{} |
322 } | 322 } |
323 | 323 |
324 /** | 324 /** |
325 * A callback that is invoked when the acknowledgement to a {@link #ping pin
g()} is received. | |
326 * Exactly one of the two methods will be invoked per each call to {@link #p
ing ping()}. | |
327 */ | |
328 public abstract static class PingCallback { | |
329 /** | |
330 * Invoked when a ping is acknowledged. The given argument is the round-
trip time of the | |
331 * ping, in microseconds. | |
332 * | |
333 * @param roundTripTimeMicros the round-trip duration between the ping b
eing sent and the | |
334 * acknowledgement received | |
335 */ | |
336 public abstract void pingAcknowledged(long roundTripTimeMicros); | |
337 | |
338 /** | |
339 * Invoked when a ping fails. The given argument is the cause of the fai
lure. | |
340 * | |
341 * @param cause the cause of the ping failure | |
342 */ | |
343 public abstract void pingFailed(CronetException cause); | |
344 } | |
345 | |
346 /** | |
347 * Starts the stream, all callbacks go to the {@code callback} argument pass
ed to {@link | 325 * Starts the stream, all callbacks go to the {@code callback} argument pass
ed to {@link |
348 * BidirectionalStream.Builder}'s constructor. Should only be called once. | 326 * BidirectionalStream.Builder}'s constructor. Should only be called once. |
349 */ | 327 */ |
350 public abstract void start(); | 328 public abstract void start(); |
351 | 329 |
352 /** | 330 /** |
353 * Reads data from the stream into the provided buffer. | 331 * Reads data from the stream into the provided buffer. |
354 * Can only be called at most once in response to each invocation of the | 332 * Can only be called at most once in response to each invocation of the |
355 * {@link Callback#onStreamReady onStreamReady()}/ | 333 * {@link Callback#onStreamReady onStreamReady()}/ |
356 * {@link Callback#onResponseHeadersReceived onResponseHeadersReceived()} an
d {@link | 334 * {@link Callback#onResponseHeadersReceived onResponseHeadersReceived()} an
d {@link |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
400 | 378 |
401 /** | 379 /** |
402 * Flushes pending writes. This method should not be invoked before {@link | 380 * Flushes pending writes. This method should not be invoked before {@link |
403 * Callback#onStreamReady onStreamReady()}. For previously delayed {@link | 381 * Callback#onStreamReady onStreamReady()}. For previously delayed {@link |
404 * #write write()}s, a corresponding {@link Callback#onWriteCompleted onWrit
eCompleted()} | 382 * #write write()}s, a corresponding {@link Callback#onWriteCompleted onWrit
eCompleted()} |
405 * will be invoked when the buffer is sent. | 383 * will be invoked when the buffer is sent. |
406 */ | 384 */ |
407 public abstract void flush(); | 385 public abstract void flush(); |
408 | 386 |
409 /** | 387 /** |
410 * Pings remote end-point. {@code callback} methods will be invoked on {@cod
e executor}. | |
411 * | |
412 * @param callback the callback that will be invoked when ping succeeds or f
ails | |
413 * @param executor the executor on which the callback will be invoked | |
414 */ | |
415 // TODO(mef): May be last thing to be implemented on Android. | |
416 public abstract void ping(PingCallback callback, Executor executor); | |
417 | |
418 /** | |
419 * Updates stream flow control window. | |
420 * | |
421 * @param windowSizeIncrement the value in bytes to increment window by. May
be negative. | |
422 */ | |
423 // TODO(mef): Understand the needs and semantics of this method. | |
424 public abstract void windowUpdate(int windowSizeIncrement); | |
425 | |
426 /** | |
427 * Cancels the stream. Can be called at any time after {@link #start}. | 388 * Cancels the stream. Can be called at any time after {@link #start}. |
428 * {@link Callback#onCanceled onCanceled()} will be invoked when cancelation | 389 * {@link Callback#onCanceled onCanceled()} will be invoked when cancelation |
429 * is complete and no further callback methods will be invoked. If the | 390 * is complete and no further callback methods will be invoked. If the |
430 * stream has completed or has not started, calling {@code cancel()} has no | 391 * stream has completed or has not started, calling {@code cancel()} has no |
431 * effect and {@code onCanceled()} will not be invoked. If the | 392 * effect and {@code onCanceled()} will not be invoked. If the |
432 * {@link Executor} passed in during {@code BidirectionalStream} constructio
n runs | 393 * {@link Executor} passed in during {@code BidirectionalStream} constructio
n runs |
433 * tasks on a single thread, and {@code cancel()} is called on that thread, | 394 * tasks on a single thread, and {@code cancel()} is called on that thread, |
434 * no listener methods (besides {@code onCanceled()}) will be invoked after | 395 * no listener methods (besides {@code onCanceled()}) will be invoked after |
435 * {@code cancel()} is called. Otherwise, at most one callback method may be | 396 * {@code cancel()} is called. Otherwise, at most one callback method may be |
436 * invoked after {@code cancel()} has completed. | 397 * invoked after {@code cancel()} has completed. |
437 */ | 398 */ |
438 public abstract void cancel(); | 399 public abstract void cancel(); |
439 | 400 |
440 /** | 401 /** |
441 * Returns {@code true} if the stream was successfully started and is now | 402 * Returns {@code true} if the stream was successfully started and is now |
442 * done (succeeded, canceled, or failed). | 403 * done (succeeded, canceled, or failed). |
443 * | 404 * |
444 * @return {@code true} if the stream was successfully started and is now | 405 * @return {@code true} if the stream was successfully started and is now |
445 * done (completed, canceled, or failed), otherwise returns {@code f
alse} | 406 * done (completed, canceled, or failed), otherwise returns {@code f
alse} |
446 * to indicate stream is not yet started or is in progress. | 407 * to indicate stream is not yet started or is in progress. |
447 */ | 408 */ |
448 public abstract boolean isDone(); | 409 public abstract boolean isDone(); |
449 } | 410 } |
OLD | NEW |