JavaCronetEngine

class JavaCronetEngine : CronetEngineBase


java.net.HttpURLConnection, CronetEngine'i destekledi.

Netlog'ları, aktarılan veri ölçümünü, bidistream'i, önbelleği veya önceliği desteklemez.

Özet

Herkese açık oluşturucular

Herkese açık işlevler

Unit

Her isteğin sonunda istek bilgileriyle birlikte çağrılan bir dinleyici kaydeder.

Unit

Ağ kalitesi tahmin aracı, örnek gidiş dönüş süresine tanık olduğunda çağrılan bir dinleyici kaydeder.

Unit

Ağ kalitesi tahmin aracı, örnek işleme hızı ölçümü yaptığında çağrılan bir dinleyiciyi kaydeder.

Unit
bindToNetwork(networkHandle: Long)

Motoru belirtilen ağ tanıtıcısına bağlar.

Unit
configureNetworkQualityEstimatorForTesting(
    useLocalHostRequests: Boolean,
    useSmallerResponses: Boolean,
    disableOfflineCheck: Boolean
)

Test için ağ kalitesi tahmincisini yapılandırır.

ExperimentalUrlRequest!
createRequest(
    url: String!,
    callback: UrlRequest.Callback!,
    executor: Executor!,
    priority: Int,
    connectionAnnotations: (Mutable)Collection<Any!>!,
    disableCache: Boolean,
    disableConnectionMigration: Boolean,
    allowDirectExecutor: Boolean,
    trafficStatsTagSet: Boolean,
    trafficStatsTag: Int,
    trafficStatsUidSet: Boolean,
    trafficStatsUid: Int,
    requestFinishedListener: RequestFinishedInfo.Listener!,
    idempotency: Int,
    networkHandle: Long,
    method: String!,
    requestHeaders: ArrayList<(Mutable)Map.Entry<String!, String!>!>!,
    uploadDataProvider: UploadDataProvider!,
    uploadDataProviderExecutor: Executor!,
    sharedDictionaryHash: ByteArray!,
    sharedDictionary: ByteBuffer!,
    sharedDictionaryId: String
)
URLStreamHandlerFactory!

HTTP ve HTTPS trafiğini işlemek için bir URLStreamHandlerFactory oluşturur.

Int

Etkin isteklerin sayısını döndürür.

Int

Ağ kalitesi tahmincisi tarafından hesaplanan aşağı akış işleme hızı tahminini (kilobit/saniye cinsinden) döndürür.

Int

Ağ kalitesi tahmincisi tarafından hesaplanan etkin bağlantı türünün tahminini döndürür.

ByteArray<Byte>!

Bu işlev kullanımdan kaldırılmıştır.

Cronet'in modern sürümlerinde bu her zaman boş bir dizi döndürür.

Int

Ağ kalitesi tahmincisi tarafından hesaplanan HTTP RTT tahminini (milisaniye cinsinden) döndürür.

Int

Ağ kalitesi tahmincisi tarafından hesaplanan aktarım RTT tahminini (milisaniye cinsinden) döndürür.

String!
URLConnection!

URLurl ile belirtilen kaynağa yeni bir bağlantı oluşturur.

URLConnection!
openConnection(url: URL!, proxy: Proxy!)

Belirtilen proxy'yi kullanarak URLurl ile belirtilen kaynağa yeni bir bağlantı oluşturur.

Unit

Tamamlanmış bir istek dinleyicisini kaldırır.

Unit

Daha önce addRttListener ile kaydedilmişse gidiş dönüş sürelerinin dinleyicisini kaldırır.

Unit

Verim dinleyicisini kaldırır.

Unit

Etkin istek yoksa CronetEngine kapatılır, aksi takdirde istisna oluşturulur.

Unit
startNetLogToDisk(dirPath: String!, logAll: Boolean, maxSize: Int)

NetLog'un belirtilen bir dizine sınırlı boyutta günlük kaydetmesini başlatır.

Unit
startNetLogToFile(fileName: String!, logAll: Boolean)

NetLog günlük kaydını bir dosyaya başlatır.

Unit

NetLog günlüğünü durdurur ve dosyayı diske boşaltır.

Korunan işlevler

ExperimentalBidirectionalStream!
createBidirectionalStream(
    url: String!,
    callback: BidirectionalStream.Callback!,
    executor: Executor!,
    httpMethod: String!,
    requestHeaders: (Mutable)List<(Mutable)Map.Entry<String!, String!>!>!,
    @CronetEngineBase.StreamPriority priority: Int,
    delayRequestHeadersUntilFirstFlush: Boolean,
    connectionAnnotations: (Mutable)Collection<Any!>!,
    trafficStatsTagSet: Boolean,
    trafficStatsTag: Int,
    trafficStatsUidSet: Boolean,
    trafficStatsUid: Int,
    networkHandle: Long
)

Devralınan Sabitler

org.chromium.net.CronetEngine yönteminden
const Int

Etkin istek sayısının değeri bilinmiyor

org.chromium.net.impl.CronetEngineBase

Devralınan işlevler

org.chromium.net.impl.CronetEngineBase
ExperimentalUrlRequest.Builder!
newUrlRequestBuilder(
    url: String!,
    callback: UrlRequest.Callback!,
    executor: Executor!
)

UrlRequest için bir derleyici oluşturur.

Herkese açık oluşturucular

JavaCronetEngine

JavaCronetEngine(builder: CronetEngineBuilderImpl!)

Herkese açık işlevler

addRequestFinishedListener

fun addRequestFinishedListener(listener: RequestFinishedInfo.Listener!): Unit

Her isteğin sonunda istek bilgileriyle birlikte çağrılan bir dinleyici kaydeder.

Dinleyici, dinleyici tarafından sağlanan java.util.concurrent.Executor üzerinden aranır.

Parametreler
listener: RequestFinishedInfo.Listener!

Tamamlanan istekler için dinleyici.

addRttListener

fun addRttListener(listener: NetworkQualityRttListener!): Unit

Ağ kalitesi tahmin aracı, örnek gidiş dönüş süresine tanık olduğunda çağrılan bir dinleyici kaydeder. Bu, enableNetworkQualityEstimator'dan sonra çağrılmalı, aksi takdirde istisna oluşturulmalıdır. Gidiş dönüş süreleri, TCP ve QUIC dahil olmak üzere ağ yığınının çeşitli katmanlarında ve URL isteği katmanında kaydedilebilir. Dinleyici, enableNetworkQualityEstimator'ye iletilen java.util.concurrent.Executor üzerinde çağrılır.

Parametreler
listener: NetworkQualityRttListener!

gidiş dönüş sürelerinin dinleyicisi.

addThroughputListener

fun addThroughputListener(listener: NetworkQualityThroughputListener!): Unit

Ağ kalitesi tahmin aracı, örnek işleme hızı ölçümü yaptığında çağrılan bir dinleyiciyi kaydeder. Bu, enableNetworkQualityEstimator tarihinden sonra çağrılmalıdır. Veri işleme hızı gözlemleri, en az bir URL yanıtı alındığı zamanlarda etkin ağ arayüzü üzerinden okunan baytların ölçülmesiyle hesaplanır. Dinleyici, enableNetworkQualityEstimator'ye iletilen java.util.concurrent.Executor üzerinde çağrılır.

Parametreler
listener: NetworkQualityThroughputListener!

işleme hızı dinleyicisi.

bindToNetwork

fun bindToNetwork(networkHandle: Long): Unit

Motoru belirtilen ağ tanıtıcısına bağlar. Bu motor aracılığıyla oluşturulan tüm isteklerde bu kimlikle ilişkili ağ kullanılır. Bu ağ bağlantısı kesilirse tüm istekler başarısız olur. Hatanın tam olarak ne olduğu, ağ bağlantısının kesildiği sırada istek işleme aşamasına bağlıdır. Ağ kullanıcı adları Network#getNetworkHandle üzerinden alınabilir. Yalnızca Android Marshmallow ve sonraki sürümlerde kullanılabilir.

Parametreler
networkHandle: Long

Motorun bağlanacağı ağ tanıtıcısı. Bağlantıyı kaldırmak için UNBIND_NETWORK_HANDLE değerini belirtin.

configureNetworkQualityEstimatorForTesting

fun configureNetworkQualityEstimatorForTesting(
    useLocalHostRequests: Boolean,
    useSmallerResponses: Boolean,
    disableOfflineCheck: Boolean
): Unit

Test için ağ kalitesi tahmincisini yapılandırır. Bu işlev, gidiş dönüş süresi ve işleme hızı dinleyicileri eklenmeden önce ve ağ kalitesi tahmin aracı etkinleştirildikten sonra çağrılmalıdır.

Parametreler
useLocalHostRequests: Boolean

Tahminlere localhost isteklerini dahil etme

useSmallerResponses: Boolean

küçük yanıtları işleme hızı tahminlerine dahil etme

disableOfflineCheck: Boolean

True olarak ayarlandığında, etkin bağlantı türü hesaplanırken veya tercihler yazılırken cihazın çevrimdışı olup olmadığına dair kontrolleri devre dışı bırakır.

createRequest

fun createRequest(
    url: String!,
    callback: UrlRequest.Callback!,
    executor: Executor!,
    priority: Int,
    connectionAnnotations: (Mutable)Collection<Any!>!,
    disableCache: Boolean,
    disableConnectionMigration: Boolean,
    allowDirectExecutor: Boolean,
    trafficStatsTagSet: Boolean,
    trafficStatsTag: Int,
    trafficStatsUidSet: Boolean,
    trafficStatsUid: Int,
    requestFinishedListener: RequestFinishedInfo.Listener!,
    idempotency: Int,
    networkHandle: Long,
    method: String!,
    requestHeaders: ArrayList<(Mutable)Map.Entry<String!, String!>!>!,
    uploadDataProvider: UploadDataProvider!,
    uploadDataProviderExecutor: Executor!,
    sharedDictionaryHash: ByteArray!,
    sharedDictionary: ByteBuffer!,
    sharedDictionaryId: String
): ExperimentalUrlRequest!

createURLStreamHandlerFactory

fun createURLStreamHandlerFactory(): URLStreamHandlerFactory!

HTTP ve HTTPS trafiğini işlemek için bir URLStreamHandlerFactory oluşturur. Bu sınıfın bir örneği setURLStreamHandlerFactory aracılığıyla yüklenebilir. Böylece, openConnection aracılığıyla oluşturulan tüm istekler için varsayılan olarak bu CronetEngine kullanılır.

Cronet, sistem üzerinden sağlanan belirli HTTP özelliklerini kullanmaz:

Cronet, HTTPS protokolünü kullanan istekleri destekleyip teşvik etse de HttpsURLConnection API'si için destek sağlamaz. Bu destek eksikliği, sistem üzerinden sağlanan belirli HTTPS özelliklerinin kullanılmamasını da kapsar:

İadeler
URLStreamHandlerFactory!

Bu CronetEngine tarafından uygulanan bir URLStreamHandlerFactory örneği.

getActiveRequestCount

fun getActiveRequestCount(): Int

Etkin isteklerin sayısını döndürür.

Yöntemin istisna oluşturmadığı varsayıldığında, UrlRequest.start() içinde bir istek "etkin" hale gelir. Tüm geri aramalar döndüğünde ve gelecekte ek geri aramalar tetiklenemediğinde devre dışı kalır. Uygulamada bu, onSucceeded/onCanceled/onFailed döndürüldükten ve tüm istek tamamlandı dinleyicileri döndürüldükten sonra isteğin etkin olmadığı anlamına gelir. Daha fazla bilgi için Cronet isteklerinin yaşam döngüsü başlıklı makaleyi inceleyin.

getDownstreamThroughputKbps

fun getDownstreamThroughputKbps(): Int

Ağ kalitesi tahmincisi tarafından hesaplanan aşağı akış işleme hızı tahminini (kilobit/saniye cinsinden) döndürür. Değer kullanılamıyorsa CONNECTION_METRIC_UNKNOWN olarak ayarlayın. Bu, enableNetworkQualityEstimator'dan sonra çağrılmalıdır. Aksi takdirde istisna oluşturur.

İadeler
Int

Aşağı akış işleme hızının kilobit/saniye cinsinden tahmini.

getEffectiveConnectionType

fun getEffectiveConnectionType(): Int

Ağ kalitesi tahmincisi tarafından hesaplanan etkin bağlantı türünün tahminini döndürür. Bu değeri hesaplamaya başlamak için enableNetworkQualityEstimator numaralı telefonu arayın.

İadeler
Int

Tahmini bağlantı türü. Döndürülen değer EFFECTIVE_CONNECTION_TYPE_* değerlerinden biridir.

getGlobalMetricsDeltas

fun getGlobalMetricsDeltas(): ByteArray<Byte>!

getHttpRttMs

fun getHttpRttMs(): Int

Ağ kalitesi tahmincisi tarafından hesaplanan HTTP RTT tahminini (milisaniye cinsinden) döndürür. Değer kullanılamıyorsa CONNECTION_METRIC_UNKNOWN olarak ayarlayın. Bu, enableNetworkQualityEstimator'dan sonra çağrılmalıdır. Aksi takdirde istisna oluşturur.

İadeler
Int

Milisaniye cinsinden HTTP RTT tahmini.

getTransportRttMs

fun getTransportRttMs(): Int

Ağ kalitesi tahmincisi tarafından hesaplanan aktarım RTT tahminini (milisaniye cinsinden) döndürür. Değer kullanılamıyorsa CONNECTION_METRIC_UNKNOWN olarak ayarlayın. Bu, enableNetworkQualityEstimator'dan sonra çağrılmalıdır. Aksi takdirde istisna oluşturur.

İadeler
Int

Milisaniye cinsinden aktarım RTT tahmini.

getVersionString

fun getVersionString(): String!
İadeler
String!

Motorun kullanıcılar tarafından okunabilir sürüm dizesi.

openConnection

fun openConnection(url: URL!): URLConnection!

URLurl ile belirtilen kaynağa yeni bir bağlantı oluşturur.

Not: Cronet'in java.net.HttpURLConnection uygulanması belirli sınırlamalara tabidir. Ayrıntılar için createURLStreamHandlerFactory bölümüne bakın.

Parametreler
url: URL!

Bağlanılacak kaynağın URL'si.

İadeler
URLConnection!

Bu CronetEngine tarafından uygulanan bir java.net.HttpURLConnection örneği.

Verdiği hatalar
java.io.IOException

Bağlantı açılırken bir hata oluşursa

openConnection

fun openConnection(url: URL!, proxy: Proxy!): URLConnection!

Belirtilen proxy'yi kullanarak URLurl ile belirtilen kaynağa yeni bir bağlantı oluşturur.

Not: Cronet'in java.net.HttpURLConnection uygulanması belirli sınırlamalara tabidir. Ayrıntılar için createURLStreamHandlerFactory bölümüne bakın.

Parametreler
url: URL!

Bağlanılacak kaynağın URL'si.

proxy: Proxy!

Bağlantı oluşturulurken kullanılacak proxy.

İadeler
URLConnection!

Bu CronetEngine tarafından uygulanan bir java.net.HttpURLConnection örneği.

Verdiği hatalar
java.io.IOException

Bağlantı açılırken bir hata oluşursa

removeRequestFinishedListener

fun removeRequestFinishedListener(listener: RequestFinishedInfo.Listener!): Unit

Tamamlanmış bir istek dinleyicisini kaldırır.

Parametreler
listener: RequestFinishedInfo.Listener!

kaldırmak istediğiniz dinleyiciyi seçin.

removeRttListener

fun removeRttListener(listener: NetworkQualityRttListener!): Unit

Daha önce addRttListener ile kaydedilmişse gidiş dönüş sürelerinin dinleyicisini kaldırır. Gözlem almayı durdurmak için NetworkQualityRttListener eklendikten sonra bu yöntem çağrılmalıdır.

Parametreler
listener: NetworkQualityRttListener!

gidiş dönüş sürelerinin dinleyicisi.

removeThroughputListener

fun removeThroughputListener(listener: NetworkQualityThroughputListener!): Unit

Verim dinleyicisini kaldırır. Gözlem almayı durdurmak için NetworkQualityThroughputListener, addThroughputListener ile eklendikten sonra bu yöntem çağrılmalıdır.

Parametreler
listener: NetworkQualityThroughputListener!

işleme hızı dinleyicisi.

shutdown

fun shutdown(): Unit

Etkin istek yoksa CronetEngine kapatılır, aksi takdirde istisna oluşturulur.

Ağ iş parçacığında çağrılamaz. Bu iş parçacığı, Cronet'in Executor'da çağırdığı iş parçacığıdır (Executor'ın geri çağırmaları çağırdığı iş parçacığından farklıdır). Tüm CronetEngine kaynakları temizlenene kadar engellenebilir.

startNetLogToDisk

fun startNetLogToDisk(dirPath: String!, logAll: Boolean, maxSize: Int): Unit

NetLog'un belirtilen bir dizine sınırlı boyutta günlük kaydetmesini başlatır. NetLog, tüm etkin CronetEngine'ler tarafından yayınlanan etkinlikleri içerir. NetLog, hata ayıklama için yararlıdır. Günlük kaydı durdurulduktan sonra stopNetLog, veriler dirPath içindeki netlog.json dosyasına yazılır. Günlüğe kaydetme işlemi kesintiye uğrarsa https://chromium .googlesource.com/chromium/src/+/main/net/tools/stitch_net_log_files.py adresini kullanarak.inprogress alt dizininde bulunan dosyaları manuel olarak birleştirebilirsiniz. Günlük, chrome://net-internals/#import adresine giden bir Chrome tarayıcı kullanılarak görüntülenebilir.

Parametreler
dirPath: String!

netlog.json dosyasının oluşturulacağı dizin. dirPath zaten mevcut olmalıdır. Dizinde NetLog dosyaları bulunmamalıdır. Etkin olarak günlük kaydı tutuluyorsa bu yöntem yoksayılır.

logAll: Boolean

true temel etkinlikleri, kullanıcı çerezlerini, kimlik bilgilerini ve aktarılan tüm baytları günlüğe dahil etmek için. Bu seçenek, kullanıcının kimlik bilgilerini açığa çıkardığı için gizlilik riski oluşturur. Yalnızca kullanıcının izniyle ve günlüğün herkese açık olmayacağı durumlarda kullanılmalıdır. false simgesini tıklayarak yalnızca temel etkinlikleri dahil edebilirsiniz.

maxSize: Int

NetLog tarafından kullanılması gereken toplam maksimum disk alanı (bayt). Gerçek disk alanı kullanımı bu sınırı biraz aşabilir.

startNetLogToFile

fun startNetLogToFile(fileName: String!, logAll: Boolean): Unit

NetLog günlük kaydını bir dosyaya başlatır. NetLog, tüm etkin CronetEngine'ler tarafından yayınlanan etkinlikleri içerir. NetLog, hata ayıklama için yararlıdır. Dosya, chrome://net-internals/#import adresine gidilerek Chrome tarayıcı kullanılarak görüntülenebilir.

Parametreler
fileName: String!

Tam dosya yolu. Boş bırakılmamalıdır. Dosya varsa başlamadan önce kısaltılır. Etkin olarak günlük kaydı tutuluyorsa bu yöntem yoksayılır.

logAll: Boolean

true temel etkinlikleri, kullanıcı çerezlerini, kimlik bilgilerini ve aktarılan tüm baytları günlüğe dahil etmek için. Bu seçenek, kullanıcının kimlik bilgilerini açığa çıkardığı için gizlilik riski oluşturur. Yalnızca kullanıcının izniyle ve günlüğün herkese açık olmayacağı durumlarda kullanılmalıdır. false simgesini tıklayarak yalnızca temel etkinlikleri dahil edebilirsiniz.

stopNetLog

fun stopNetLog(): Unit

NetLog günlüğünü durdurur ve dosyayı diske boşaltır. Günlük kaydı oturumu devam etmiyorsa bu çağrı yoksayılır.

Korunan işlevler

createBidirectionalStream

protected fun createBidirectionalStream(
    url: String!,
    callback: BidirectionalStream.Callback!,
    executor: Executor!,
    httpMethod: String!,
    requestHeaders: (Mutable)List<(Mutable)Map.Entry<String!, String!>!>!,
    @CronetEngineBase.StreamPriority priority: Int,
    delayRequestHeadersUntilFirstFlush: Boolean,
    connectionAnnotations: (Mutable)Collection<Any!>!,
    trafficStatsTagSet: Boolean,
    trafficStatsTag: Int,
    trafficStatsUidSet: Boolean,
    trafficStatsUid: Int,
    networkHandle: Long
): ExperimentalBidirectionalStream!