QuicOptions.Builder

public class QuicOptions.Builder


QuicOptions için derleyiciler.

Özet

Herkese açık yöntemler

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
@QuicOptions.Experimental
closeSessionsOnIpChange(boolean closeSessionsOnIpChange)

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

QuicOptions.Builder
@QuicOptions.Experimental
delayJobsWithAvailableSpdySession(
    boolean delayJobsWithAvailableSpdySession
)

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
@QuicOptions.Experimental
enableTlsZeroRtt(boolean enableTlsZeroRtt)

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

QuicOptions.Builder
@QuicOptions.Experimental
goawaySessionsOnIpChange(boolean goawaySessionsOnIpChange)

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

QuicOptions.Builder
@QuicOptions.Experimental
increaseBrokenServicePeriodExponentially(
    boolean increaseBrokenServicePeriodExponentially
)

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

QuicOptions.Builder
@QuicOptions.Experimental
retryWithoutAltSvcOnQuicErrors(boolean retryWithoutAltSvcOnQuicErrors)

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

QuicOptions.Builder
@QuicOptions.Experimental
setCryptoHandshakeTimeoutSeconds(long cryptoHandshakeTimeoutSeconds)

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

QuicOptions.Builder
setHandshakeUserAgent(String handshakeUserAgent)

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

QuicOptions.Builder

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

QuicOptions.Builder
setIdleConnectionTimeoutSeconds(long idleConnectionTimeoutSeconds)

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

QuicOptions.Builder
setInMemoryServerConfigsCacheSize(int inMemoryServerConfigsCacheSize)

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(
    long initialBrokenServicePeriodSeconds
)

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(
    long preCryptoHandshakeIdleTimeoutSeconds
)

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(
    long retransmittableOnWireTimeoutMillis
)

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

Herkese açık yöntemler

addAllowedQuicHost

public QuicOptions.Builder addAllowedQuicHost(String quicHost)

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
public QuicOptions.Builder addClientConnectionOption(String clientConnectionOption)

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
public QuicOptions.Builder addConnectionOption(String connectionOption)

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
public QuicOptions.Builder addEnabledQuicVersion(String enabledQuicVersion)

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
public QuicOptions.Builder addExtraQuicheFlag(String extraQuicheFlag)

İ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ı

public QuicOptions build()

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

closeSessionsOnIpChange

@QuicOptions.Experimental
public QuicOptions.Builder closeSessionsOnIpChange(boolean closeSessionsOnIpChange)

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
public QuicOptions.Builder delayJobsWithAvailableSpdySession(
    boolean delayJobsWithAvailableSpdySession
)

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
public QuicOptions.Builder enableTlsZeroRtt(boolean enableTlsZeroRtt)

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
public QuicOptions.Builder goawaySessionsOnIpChange(boolean goawaySessionsOnIpChange)

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
public QuicOptions.Builder increaseBrokenServicePeriodExponentially(
    boolean increaseBrokenServicePeriodExponentially
)

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
public QuicOptions.Builder retryWithoutAltSvcOnQuicErrors(boolean retryWithoutAltSvcOnQuicErrors)

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
public QuicOptions.Builder setCryptoHandshakeTimeoutSeconds(long cryptoHandshakeTimeoutSeconds)

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

İadeler
QuicOptions.Builder

zincirleme için oluşturucu

setHandshakeUserAgent

public QuicOptions.Builder setHandshakeUserAgent(String handshakeUserAgent)

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)
public QuicOptions.Builder setIdleConnectionTimeout(@NonNull Duration idleConnectionTimeout)

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

İadeler
QuicOptions.Builder

zincirleme için oluşturucu

setIdleConnectionTimeoutSeconds

public QuicOptions.Builder setIdleConnectionTimeoutSeconds(long idleConnectionTimeoutSeconds)

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

public QuicOptions.Builder setInMemoryServerConfigsCacheSize(int inMemoryServerConfigsCacheSize)

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
public QuicOptions.Builder setInitialBrokenServicePeriodSeconds(
    long initialBrokenServicePeriodSeconds
)

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
public QuicOptions.Builder setPreCryptoHandshakeIdleTimeoutSeconds(
    long preCryptoHandshakeIdleTimeoutSeconds
)

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
public QuicOptions.Builder setRetransmittableOnWireTimeoutMillis(
    long retransmittableOnWireTimeoutMillis
)

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