public interface**CronetRequestCompletionListener**  
A completion listener for accepting the results of a Cronet request asynchronously.

To attach to a Cronet request use[InMemoryTransformCronetCallback](https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/apihelpers/InMemoryTransformCronetCallback.html)and call[InMemoryTransformCronetCallback.addCompletionListener(CronetRequestCompletionListener)](https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/apihelpers/InMemoryTransformCronetCallback.html#addCompletionListener(org.chromium.net.apihelpers.CronetRequestCompletionListener<?%20super%20T>)).  

### Public Method Summary

|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| abstract void | [onCanceled](https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/apihelpers/CronetRequestCompletionListener.html#onCanceled(org.chromium.net.UrlResponseInfo))([UrlResponseInfo](https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/UrlResponseInfo.html)info) Invoked if request was canceled via`UrlRequest#cancel`.                                                                                                                                                                                    |
| abstract void | [onFailed](https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/apihelpers/CronetRequestCompletionListener.html#onFailed(org.chromium.net.UrlResponseInfo,%20org.chromium.net.CronetException))([UrlResponseInfo](https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/UrlResponseInfo.html)info,[CronetException](https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/CronetException.html)exception) Invoked if request failed for any reason after starting the request. |
| abstract void | [onSucceeded](https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/apihelpers/CronetRequestCompletionListener.html#onSucceeded(org.chromium.net.UrlResponseInfo,%20T))([UrlResponseInfo](https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/UrlResponseInfo.html)info, T body) Invoked when request is completed successfully.                                                                                                                                                                             |

## Public Methods

#### public abstract void**onCanceled**([UrlResponseInfo](https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/UrlResponseInfo.html)info)

Invoked if request was canceled via`UrlRequest#cancel`. Once invoked, no other methods will be invoked on this object.  

##### Parameters

| info | Response information. May be`null`if no response was received. |
|------|----------------------------------------------------------------|

#### public abstract void**onFailed**([UrlResponseInfo](https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/UrlResponseInfo.html)info,[CronetException](https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/CronetException.html)exception)

Invoked if request failed for any reason after starting the request. Once invoked, no other methods will be invoked on this object.`exception`provides information about the failure.  

##### Parameters

|   info    | Response information. May be`null`if no response was received. |
| exception |      detailed information about the error that occurred.       |
|-----------|----------------------------------------------------------------|

#### public abstract void**onSucceeded**([UrlResponseInfo](https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/UrlResponseInfo.html)info, T body)

Invoked when request is completed successfully. Once invoked, no other methods will be invoked on this object.  

##### Parameters

| info |               Response information.                |
| body | The response body transformed to the desired type. |
|------|----------------------------------------------------|