CronetEngine

abstract class CronetEngine

Bilinen doğrudan alt sınıflar
Bilinen dolaylı alt sınıflar
JavaCronetEngine

java.net.HttpURLConnection, CronetEngine'i destekledi.


Mevcut platformda bulunan en iyi HTTP yığınını kullanan UrlRequest işleme motoru. Bu sınıfın bir örneği Builder kullanılarak oluşturulabilir.

Özet

İç içe yerleştirilmiş türler

CronetEngine için bir oluşturucu. Bu oluşturucu, CronetEngine'nin çalışma zamanı yapılandırmasına olanak tanır.

Cronet yerel kitaplığını yüklemek için bir yöntem sağlayan sınıf.

Sabitler

const Int

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

const Int

Bağlantı metriğinin değeri bilinmiyor.

const Int

Etkin bağlantı türü tahmini 2G'dir.

const Int

Etkin bağlantı türü tahmini 3G'dir.

const Int

Etkin bağlantı türü tahmini 4G'dir.

const Int

Cihaz çevrimdışı.

const Int

Etkin bağlantı türü tahmini, yavaş 2G'dir.

const Int

Geçerli bağlantı türü tahmini bilinmiyor.

const Long

Önceki ağ bağlamalarını geri almak için kullanılacak değer.

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.

abstract 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.

abstract 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.

abstract String!
abstract UrlRequest.Builder!
newUrlRequestBuilder(
    url: String!,
    callback: UrlRequest.Callback!,
    executor: Executor!
)

UrlRequest için bir derleyici oluşturur.

abstract URLConnection!

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.

abstract 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.

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

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

abstract Unit

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

Sabitler

ACTIVE_REQUEST_COUNT_UNKNOWN

const val ACTIVE_REQUEST_COUNT_UNKNOWN = -1: Int

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

CONNECTION_METRIC_UNKNOWN

const val CONNECTION_METRIC_UNKNOWN = -1: Int

Bağlantı metriğinin değeri bilinmiyor.

EFFECTIVE_CONNECTION_TYPE_2G

const val EFFECTIVE_CONNECTION_TYPE_2G = 3: Int

Etkin bağlantı türü tahmini 2G'dir.

Aşağıdaki kaynakları da incelemenizi öneririz:
getEffectiveConnectionType

EFFECTIVE_CONNECTION_TYPE_3G

const val EFFECTIVE_CONNECTION_TYPE_3G = 4: Int

Etkin bağlantı türü tahmini 3G'dir.

Aşağıdaki kaynakları da incelemenizi öneririz:
getEffectiveConnectionType

EFFECTIVE_CONNECTION_TYPE_4G

const val EFFECTIVE_CONNECTION_TYPE_4G = 5: Int

Etkin bağlantı türü tahmini 4G'dir.

Aşağıdaki kaynakları da incelemenizi öneririz:
getEffectiveConnectionType

EFFECTIVE_CONNECTION_TYPE_OFFLINE

const val EFFECTIVE_CONNECTION_TYPE_OFFLINE = 1: Int

Cihaz çevrimdışı.

Aşağıdaki kaynakları da incelemenizi öneririz:
getEffectiveConnectionType

EFFECTIVE_CONNECTION_TYPE_SLOW_2G

const val EFFECTIVE_CONNECTION_TYPE_SLOW_2G = 2: Int

Etkin bağlantı türü tahmini, yavaş 2G'dir.

Aşağıdaki kaynakları da incelemenizi öneririz:
getEffectiveConnectionType

EFFECTIVE_CONNECTION_TYPE_UNKNOWN

const val EFFECTIVE_CONNECTION_TYPE_UNKNOWN = 0: Int

Geçerli bağlantı türü tahmini bilinmiyor.

Aşağıdaki kaynakları da incelemenizi öneririz:
getEffectiveConnectionType

UNBIND_NETWORK_HANDLE

const val UNBIND_NETWORK_HANDLE = -1: Long

Önceki ağ bağlamalarını geri almak için kullanılacak değer.

Herkese açık oluşturucular

CronetEngine

CronetEngine()

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.

createURLStreamHandlerFactory

abstract 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

abstract 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

abstract fun getVersionString(): String!
İadeler
String!

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

newUrlRequestBuilder

abstract fun newUrlRequestBuilder(
    url: String!,
    callback: UrlRequest.Callback!,
    executor: Executor!
): UrlRequest.Builder!

UrlRequest için bir derleyici oluşturur. Oluşturulan UrlRequest nesneleri için tüm geri çağırmalar executor'nin iş parçacıklarında çağrılır. Ağ işlemlerinin engellenmesini ve kapatma sırasında istisnaların oluşmasını önlemek için executor, execute'ı çağıran iş parçacığında görev çalıştırmamalıdır.

Parametreler
url: String!

Oluşturulan isteklerin URL'si.

callback: UrlRequest.Callback!

Farklı etkinliklerde çağrılan geri çağırma nesnesi.

executor: Executor!

Executor üzerinde tüm geri aramalar çağrılır.

openConnection

abstract 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

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

abstract 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

abstract 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

abstract 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.