summaryrefslogtreecommitdiff
path: root/core/java/android/net/TcpRepairWindow.java
diff options
context:
space:
mode:
authormarkchien <markchien@google.com>2018-12-27 22:49:51 +0800
committerChalard Jean <jchalard@google.com>2019-02-06 12:22:22 +0900
commit150e191bca7db76430ec92969132f77d199f378c (patch)
tree2c9ac3e3818ff811aab84221310a9d8e3e74ec16 /core/java/android/net/TcpRepairWindow.java
parentd6471064e90bdbbd65321f3158255844ed8c4353 (diff)
[KA03] Support tcp keepalive offload
When offload is starting, socket will be switched to repair mode. Read and write on the socket will not be allowed until repair mode is turned off. If remote packet arrives, repair mode will be turned off automatically and a callback will be raised to indicate that socket is ready to read from. Bug: 114151147 Test: -atest FrameworksNetTests -manual Change-Id: I0c335865912e183e7ad32a8ea12188f02ccde5fd
Diffstat (limited to 'core/java/android/net/TcpRepairWindow.java')
-rw-r--r--core/java/android/net/TcpRepairWindow.java45
1 files changed, 45 insertions, 0 deletions
diff --git a/core/java/android/net/TcpRepairWindow.java b/core/java/android/net/TcpRepairWindow.java
new file mode 100644
index 000000000000..86034f0a76ed
--- /dev/null
+++ b/core/java/android/net/TcpRepairWindow.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.net;
+
+/**
+ * Corresponds to C's {@code struct tcp_repair_window} from
+ * include/uapi/linux/tcp.h
+ *
+ * @hide
+ */
+public final class TcpRepairWindow {
+ public final int sndWl1;
+ public final int sndWnd;
+ public final int maxWindow;
+ public final int rcvWnd;
+ public final int rcvWup;
+ public final int rcvWndScale;
+
+ /**
+ * Constructs an instance with the given field values.
+ */
+ public TcpRepairWindow(final int sndWl1, final int sndWnd, final int maxWindow,
+ final int rcvWnd, final int rcvWup, final int rcvWndScale) {
+ this.sndWl1 = sndWl1;
+ this.sndWnd = sndWnd;
+ this.maxWindow = maxWindow;
+ this.rcvWnd = rcvWnd;
+ this.rcvWup = rcvWup;
+ this.rcvWndScale = rcvWndScale;
+ }
+}