• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2023 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 package org.chromium.net.impl;
6 
7 import androidx.annotation.NonNull;
8 
9 import static org.chromium.net.impl.HttpEngineNativeProvider.EXT_API_LEVEL;
10 import static org.chromium.net.impl.HttpEngineNativeProvider.EXT_VERSION;
11 
12 import androidx.annotation.RequiresExtension;
13 
14 import org.chromium.net.UrlResponseInfo;
15 
16 import java.nio.ByteBuffer;
17 
18 @RequiresExtension(extension = EXT_API_LEVEL, version = EXT_VERSION)
19 class AndroidBidirectionalStreamWrapper extends org.chromium.net.ExperimentalBidirectionalStream {
20     private final android.net.http.BidirectionalStream mBackend;
21 
AndroidBidirectionalStreamWrapper(android.net.http.BidirectionalStream backend)22     AndroidBidirectionalStreamWrapper(android.net.http.BidirectionalStream backend) {
23         this.mBackend = backend;
24     }
25 
26     @Override
start()27     public void start() {
28         mBackend.start();
29     }
30 
31     @Override
read(ByteBuffer buffer)32     public void read(ByteBuffer buffer) {
33         mBackend.read(buffer);
34     }
35 
36     @Override
write(ByteBuffer buffer, boolean endOfStream)37     public void write(ByteBuffer buffer, boolean endOfStream) {
38         mBackend.write(buffer, endOfStream);
39     }
40 
41     @Override
flush()42     public void flush() {
43         mBackend.flush();
44     }
45 
46     @Override
cancel()47     public void cancel() {
48         mBackend.cancel();
49     }
50 
51     @Override
isDone()52     public boolean isDone() {
53         return mBackend.isDone();
54     }
55 
56     @Override
isDelayRequestHeadersUntilFirstFlushEnabled()57     public boolean isDelayRequestHeadersUntilFirstFlushEnabled() {
58         return mBackend.isDelayRequestHeadersUntilFirstFlushEnabled();
59     }
60 
61     @Override
getPriority()62     public int getPriority() {
63         return mBackend.getPriority();
64     }
65 
66     @NonNull
67     @Override
getHeaders()68     public UrlResponseInfo.HeaderBlock getHeaders() {
69         return new AndroidHeaderBlockWrapper(mBackend.getHeaders());
70     }
71 
72     @Override
getTrafficStatsUid()73     public int getTrafficStatsUid() {
74         return mBackend.getTrafficStatsUid();
75     }
76 
77     @Override
getTrafficStatsTag()78     public int getTrafficStatsTag() {
79         return mBackend.getTrafficStatsTag();
80     }
81 
82     @Override
hasTrafficStatsUid()83     public boolean hasTrafficStatsUid() {
84         return mBackend.hasTrafficStatsUid();
85     }
86 
87     @Override
hasTrafficStatsTag()88     public boolean hasTrafficStatsTag() {
89         return mBackend.hasTrafficStatsTag();
90     }
91 
92     @NonNull
93     @Override
getHttpMethod()94     public String getHttpMethod() {
95         return mBackend.getHttpMethod();
96     }
97 }
98