QuicOptions.Builder

class QuicOptions.Builder


QuicOptions için derleyiciler.

Özet

Herkese açık işlevler

QuicOptions.Builder!

QUIC izin verilenler listesine bir ana makine ekler.

QuicOptions.Builder!

Yalnızca istemciyi etkileyen bir QUIC el sıkışması bağlantı seçeneklerinde gönderilecek bir QUIC etiketi ekler.

QuicOptions.Builder!

QUIC el sıkışması bağlantı seçeneklerinde gönderilecek bir QUIC etiketi ekler.

QuicOptions.Builder!

Etkinleştirilecek QUIC sürümleri listesine bir QUIC sürümü ekler.

QuicOptions.Builder!

İsteğe bağlı bir QUICHE işareti ayarlar.

QuicOptions!

Bu oluşturucudaki değerlere göre son QuicOptions örneğini oluşturur ve döndürür.

QuicOptions.Builder!

IP adresi değiştiğinde QUIC oturumlarının kapatılıp kapatılmayacağını ayarlar.

QuicOptions.Builder!
@QuicOptions.Experimental
delayJobsWithAvailableSpdySession(
    delayJobsWithAvailableSpdySession: Boolean
)

Cronet'in, sunucuya ulaşmak için ikincil bir yol (SPDY / HTTP2) olsa bile birincil yolun (genellikle QUIC) hazır olmasını beklemesi gerekip gerekmediğini belirler.

QuicOptions.Builder!

0-RTT ile TLS'nin etkinleştirilip etkinleştirilmeyeceğini belirler.

QuicOptions.Builder!

IP adresi değiştiğinde QUIC oturumlarının kapatılıp kapatılmayacağını ayarlar.

QuicOptions.Builder!
@QuicOptions.Experimental
increaseBrokenServicePeriodExponentially(
    increaseBrokenServicePeriodExponentially: Boolean
)

Bozuk sunucu döneminin üstel olarak ölçeklendirilip ölçeklendirilmeyeceğini ayarlar.

QuicOptions.Builder!

QUIC protokolü hatalarıyla başarısız olan isteklerin herhangi bir alt-svc sunucusu kullanılmadan yeniden denenip denenmeyeceğini ayarlar.

QuicOptions.Builder!

Bağlantı SSL el sıkışması için zaman aşımını ayarlar.

QuicOptions.Builder!
setHandshakeUserAgent(handshakeUserAgent: String!)

Kullanıcı aracısını HTTP isteklerinin dışında (ör. QUIC el sıkışmaları için) kullanılacak şekilde ayarlar.

QuicOptions.Builder!
@RequiresApi(value = VERSION_CODES.O)
setIdleConnectionTimeout(idleConnectionTimeout: Duration)

setIdleConnectionTimeoutSeconds ile aynıdır ancak java.time.Duration kullanılır.

QuicOptions.Builder!
setIdleConnectionTimeoutSeconds(idleConnectionTimeoutSeconds: Long)

Bağlantı için maksimum boşta kalma süresini ayarlar.

QuicOptions.Builder!
setInMemoryServerConfigsCacheSize(inMemoryServerConfigsCacheSize: Int)

Bellekte kaç sunucu yapılandırmasının (alt svc listesi, QUIC'in desteklenip desteklenmediği gibi meta veriler) tutulacağını ayarlar.

QuicOptions.Builder!
@QuicOptions.Experimental
setInitialBrokenServicePeriodSeconds(
    initialBrokenServicePeriodSeconds: Long
)

Sunucunun QUIC desteğinin bozuk olduğu anlaşıldıktan sonra Cronet'in belirli bir sunucu için QUIC kullanmayı denememesi gereken başlangıç zamanını ayarlar.

QuicOptions.Builder!
@QuicOptions.Experimental
setPreCryptoHandshakeIdleTimeoutSeconds(
    preCryptoHandshakeIdleTimeoutSeconds: Long
)

Henüz SSL el sıkışma işlemini tamamlamamış bir bağlantı için maksimum boşta kalma süresini ayarlar.

QuicOptions.Builder!
@QuicOptions.Experimental
setRetransmittableOnWireTimeoutMillis(
    retransmittableOnWireTimeoutMillis: Long
)

Kablodaki paketler arasında istenen maksimum süreyi ayarlar.

Herkese açık işlevler

addAllowedQuicHost

fun addAllowedQuicHost(quicHost: String!): QuicOptions.Builder!

QUIC izin verilenler listesine bir ana makine ekler.

Ana makine belirtilmemişse ana makine başına izin verilenler listesi işlevi devre dışı bırakılır. Aksi takdirde Cronet, yalnızca izin verilenler listesindeki ana makinelerle iletişim kurarken QUIC'i kullanır.

İadeler
QuicOptions.Builder!

zincirleme için oluşturucu

addClientConnectionOption

@QuicOptions.QuichePassthroughOption
fun addClientConnectionOption(clientConnectionOption: String!): QuicOptions.Builder!

Yalnızca istemciyi etkileyen bir QUIC el sıkışması bağlantı seçeneklerinde gönderilecek bir QUIC etiketi ekler.

Daha fazla bilgi için addConnectionOption sayfasına bakın.

addConnectionOption

@QuicOptions.QuichePassthroughOption
fun addConnectionOption(connectionOption: String!): QuicOptions.Builder!

QUIC el sıkışması bağlantı seçeneklerinde gönderilecek bir QUIC etiketi ekler.

QUIC etiketleri, en fazla dört harf uzunluğunda dizeler (ör. NBHD) olarak sunulmalıdır.

QUIC etiketleri aktif olarak geliştirilmekte olduğundan ve bazıları yalnızca sunucuyla alakalı olduğundan Cronet, API'nin bir parçası olarak desteklenen tüm QUIC işaretlerinin tam listesini tutmaya çalışmaz. Bayraklar. Cronet ve Google sunucuları tarafından kullanılan bir QUIC uygulaması olan QUICHE'nin desteklediği işaretleri burada bulabilirsiniz.

İadeler
QuicOptions.Builder!

zincirleme için oluşturucu

addEnabledQuicVersion

@QuicOptions.QuichePassthroughOption
fun addEnabledQuicVersion(enabledQuicVersion: String!): QuicOptions.Builder!

Etkinleştirilecek QUIC sürümleri listesine bir QUIC sürümü ekler.

Sürüm belirtilmezse Cronet, varsayılan QUIC sürümlerinin bir listesini kullanır.

Sürüm biçimi QUICHE tarafından belirtilir. Cronet, eski olduğu bilinen değerleri filtrelemenin dışında sürümleri herhangi bir şekilde işlemez ve bunları doğrudan QUICHE'ye iletir.

İadeler
QuicOptions.Builder!

zincirleme için oluşturucu

addExtraQuicheFlag

@QuicOptions.QuichePassthroughOption
fun addExtraQuicheFlag(extraQuicheFlag: String!): QuicOptions.Builder!

İsteğe bağlı bir QUICHE işareti ayarlar. İşaretler, FLAG_NAME=FLAG_VALUE biçiminde iletilmelidir. Tüm işaretlerin listesi için QUICHE kod tabanına bakın.

İadeler
QuicOptions.Builder!

zincirleme için oluşturucu

yapı

fun build(): QuicOptions!

Bu oluşturucudaki değerlere göre son QuicOptions örneğini oluşturur ve döndürür.

closeSessionsOnIpChange

@QuicOptions.Experimental
fun closeSessionsOnIpChange(closeSessionsOnIpChange: Boolean): QuicOptions.Builder!

IP adresi değiştiğinde QUIC oturumlarının kapatılıp kapatılmayacağını ayarlar.

Bağlantı taşıma işlemiyle (ConnectionMigrationOptions kullanılarak yapılandırılır) birlikte kullanmayın.

İadeler
QuicOptions.Builder!

zincirleme için oluşturucu

delayJobsWithAvailableSpdySession

@QuicOptions.Experimental
fun delayJobsWithAvailableSpdySession(
    delayJobsWithAvailableSpdySession: Boolean
): QuicOptions.Builder!

Cronet'in, sunucuya ulaşmak için ikincil bir yol (SPDY / HTTP2) olsa bile birincil yolun (genellikle QUIC) hazır olmasını beklemesi gerekip gerekmediğini belirler.

İadeler
QuicOptions.Builder!

zincirleme için oluşturucu

enableTlsZeroRtt

@QuicOptions.Experimental
fun enableTlsZeroRtt(enableTlsZeroRtt: Boolean): QuicOptions.Builder!

0-RTT ile TLS'nin etkinleştirilip etkinleştirilmeyeceğini belirler.

0-RTT, bilinen bir sunucuya bağlantılar sürdürüldüğünde ek bir gidiş-dönüşü önleyen bir performans optimizasyonudur.

İadeler
QuicOptions.Builder!

zincirleme için oluşturucu

Aşağıdaki kaynakları da incelemenizi öneririz:
Cloudflare's 0-RTT blogpost

Cloudflare'in 0-RTT blog yayını

goawaySessionsOnIpChange

@QuicOptions.Experimental
fun goawaySessionsOnIpChange(goawaySessionsOnIpChange: Boolean): QuicOptions.Builder!

IP adresi değiştiğinde QUIC oturumlarının kapatılıp kapatılmayacağını ayarlar.

Bağlantı taşıma işlemiyle (ConnectionMigrationOptions kullanılarak yapılandırılır) birlikte kullanmayın.

İadeler
QuicOptions.Builder!

zincirleme için oluşturucu

increaseBrokenServicePeriodExponentially

@QuicOptions.Experimental
fun increaseBrokenServicePeriodExponentially(
    increaseBrokenServicePeriodExponentially: Boolean
): QuicOptions.Builder!

Bozuk sunucu döneminin üstel olarak ölçeklendirilip ölçeklendirilmeyeceğini ayarlar.

Doğru olarak ayarlanırsa ilk gecikme (setInitialBrokenServicePeriodSeconds ile yapılandırılabilir) sonraki yeniden denemeler için üstel olarak ölçeklendirilir (SCALING_FACTOR^NUM_TRIES * delay). Yanlış ise gecikme doğrusal olarak ölçeklendirilir (SCALING_FACTOR * NUM_TRIES * gecikme).

İadeler
QuicOptions.Builder!

zincirleme için oluşturucu

retryWithoutAltSvcOnQuicErrors

@QuicOptions.Experimental
fun retryWithoutAltSvcOnQuicErrors(retryWithoutAltSvcOnQuicErrors: Boolean): QuicOptions.Builder!

QUIC protokolü hatalarıyla başarısız olan isteklerin herhangi bir alt-svc sunucusu kullanılmadan yeniden denenip denenmeyeceğini ayarlar.

İadeler
QuicOptions.Builder!

zincirleme için oluşturucu

setCryptoHandshakeTimeoutSeconds

@QuicOptions.Experimental
fun setCryptoHandshakeTimeoutSeconds(cryptoHandshakeTimeoutSeconds: Long): QuicOptions.Builder!

Bağlantı SSL el sıkışması için zaman aşımını ayarlar.

İadeler
QuicOptions.Builder!

zincirleme için oluşturucu

setHandshakeUserAgent

fun setHandshakeUserAgent(handshakeUserAgent: String!): QuicOptions.Builder!

Kullanıcı aracısını HTTP isteklerinin dışında (ör. QUIC el sıkışmaları için) kullanılacak şekilde ayarlar.

HTTP istekleri için varsayılan kullanıcı aracısını ayarlamak üzere bunun yerine setUserAgent kullanın.

İadeler
QuicOptions.Builder!

zincirleme için oluşturucu

setIdleConnectionTimeout

@RequiresApi(value = VERSION_CODES.O)
fun setIdleConnectionTimeout(idleConnectionTimeout: Duration): QuicOptions.Builder!

setIdleConnectionTimeoutSeconds ile aynıdır ancak java.time.Duration kullanılır.

İadeler
QuicOptions.Builder!

zincirleme için oluşturucu

setIdleConnectionTimeoutSeconds

fun setIdleConnectionTimeoutSeconds(idleConnectionTimeoutSeconds: Long): QuicOptions.Builder!

Bağlantı için maksimum boşta kalma süresini ayarlar. Boşta kalma zaman aşımı için gerçek değer, bu değer ile sunucunun minimum değeridir ve el sıkışma sırasında belirlenir. Bu nedenle, yalnızca el sıkışma tamamlandıktan sonra geçerlidir. Bağlantıda belirlenen süre boyunca etkinlik algılanmazsa bağlantı kapatılır.

Daha fazla bilgi için RFC 9114, bölüm 5.1 'i inceleyin.

İadeler
QuicOptions.Builder!

zincirleme için oluşturucu

setInMemoryServerConfigsCacheSize

fun setInMemoryServerConfigsCacheSize(inMemoryServerConfigsCacheSize: Int): QuicOptions.Builder!

Bellekte kaç sunucu yapılandırmasının (alt svc listesi, QUIC'in desteklenip desteklenmediği gibi meta veriler) tutulacağını ayarlar.

Depolama yolu ayarlanmışsa (setStoragePath), Cronet sunucu yapılandırmalarını da diskte kalıcı hale getirir.

İadeler
QuicOptions.Builder!

zincirleme için oluşturucu

setInitialBrokenServicePeriodSeconds

@QuicOptions.Experimental
fun setInitialBrokenServicePeriodSeconds(
    initialBrokenServicePeriodSeconds: Long
): QuicOptions.Builder!

Sunucunun QUIC desteğinin bozuk olduğu anlaşıldıktan sonra Cronet'in belirli bir sunucu için QUIC kullanmayı denememesi gereken başlangıç zamanını ayarlar.

Cronet, bir sunucunun QUIC'i desteklediğini duyurduğunu ancak aslında QUIC kullanmadığını algıladığında sunucuyu bozuk olarak işaretler ve bir süre boyunca sunucuyla iletişim kurarken QUIC kullanmaya çalışmaz. Cronet bu noktayı geçtikten sonra QUIC'i tekrar kullanmayı dener. Bunun amacı, kısa vadeli (sunucu bozuksa QUIC'i denemek için kaynakları boşa harcamanın bir anlamı yoktur) ve uzun vadeli (bozulma geçici olabilir, QUIC kullanmak genellikle faydalıdır) çıkarları dengelemektir.

Gecikme, her başarısız yeniden denemede artırılır. Ayrıntılar için increaseBrokenServicePeriodExponentially sayfasını ziyaret edin.

İadeler
QuicOptions.Builder!

zincirleme için oluşturucu

setPreCryptoHandshakeIdleTimeoutSeconds

@QuicOptions.Experimental
fun setPreCryptoHandshakeIdleTimeoutSeconds(
    preCryptoHandshakeIdleTimeoutSeconds: Long
): QuicOptions.Builder!

Henüz SSL el sıkışma işlemini tamamlamamış bir bağlantı için maksimum boşta kalma süresini ayarlar.

İadeler
QuicOptions.Builder!

zincirleme için oluşturucu

setRetransmittableOnWireTimeoutMillis

@QuicOptions.Experimental
fun setRetransmittableOnWireTimeoutMillis(
    retransmittableOnWireTimeoutMillis: Long
): QuicOptions.Builder!

Kablodaki paketler arasında istenen maksimum süreyi ayarlar.

Kabloda yeniden iletilebilir süre aşıldığında Cronet, yapay trafik kullanarak ağın kalitesini araştırır. Daha kısa zaman aşımları genellikle bozuk veya performans düşüşü yaşayan bir yolun daha hızlı bulunmasını sağlar ancak kaynakların (pil, veri) daha fazla kullanılmasına da neden olur.

İadeler
QuicOptions.Builder!

zincirleme için oluşturucu