This is an automated email from the ASF dual-hosted git repository.
wujimin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git
The following commit(s) were added to refs/heads/master by this push:
new b56b0f5 [SCB-1202]pump down with vertx3.6.3 no need to check buff
length in AsynFileImpl#doWrite
b56b0f5 is described below
commit b56b0f583d9c6be2d80e0ba114a50f20611e6511
Author: heyile <[email protected]>
AuthorDate: Sat Mar 16 19:07:47 2019 +0800
[SCB-1202]pump down with vertx3.6.3 no need to check buff length in
AsynFileImpl#doWrite
---
LICENSE | 1 -
.../foundation/vertx/stream/PumpCommon.java | 3 +-
.../foundation/vertx/stream/PumpImplEx.java | 104 ---------------------
.../foundation/vertx/stream/TestPumpImpl.java | 50 ----------
.../it-producer-deploy-springboot2-servlet/pom.xml | 1 -
.../pom.xml | 1 -
java-chassis-distribution/src/release/LICENSE | 6 --
pom.xml | 1 -
8 files changed, 2 insertions(+), 165 deletions(-)
diff --git a/LICENSE b/LICENSE
index 916a104..6eab432 100644
--- a/LICENSE
+++ b/LICENSE
@@ -219,7 +219,6 @@ For details, see https://github.com/vert-x3/vertx-web
================================================================
For
foundations/foundation-vertx/src/main/java/io/vertx/core/impl/VertxImpl.java
foundations/foundation-test-scaffolding/src/main/java/io/vertx/core/impl/VertxImpl.java
-
foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/stream/PumpImplEx.java
================================================================
This product bundles files from vertx which is licensed under the Apache
License v2.
For details, see https://github.com/eclipse-vertx/vert.x
diff --git
a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/stream/PumpCommon.java
b/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/stream/PumpCommon.java
index 090882a..77334b9 100644
---
a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/stream/PumpCommon.java
+++
b/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/stream/PumpCommon.java
@@ -23,6 +23,7 @@ import
org.apache.servicecomb.foundation.common.io.AsyncCloseable;
import io.vertx.core.Context;
import io.vertx.core.buffer.Buffer;
import io.vertx.core.http.HttpClientResponse;
+import io.vertx.core.streams.Pump;
import io.vertx.core.streams.ReadStream;
import io.vertx.core.streams.WriteStream;
@@ -63,7 +64,7 @@ public class PumpCommon {
// belongs to difference eventloop
// maybe will cause deadlock
// if happened, vertx will print deadlock stacks
- PumpImplEx.getPumpImplEx(readStream, writeStream).start();
+ Pump.pump(readStream, writeStream).start();
try {
context.runOnContext(v -> readStream.resume());
} catch (Throwable e) {
diff --git
a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/stream/PumpImplEx.java
b/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/stream/PumpImplEx.java
deleted file mode 100644
index e835629..0000000
---
a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/stream/PumpImplEx.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) 2014 Red Hat, Inc. and others
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License 2.0 which is available at
- * http://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
- * which is available at https://www.apache.org/licenses/LICENSE-2.0.
- *
- * SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
- */
-
-/*
- * Froked from
https://github.com/eclipse-vertx/vert.x/blob/master/src/main/java/io/vertx/core/streams/impl/PumpImpl.java
- *
- */
-package org.apache.servicecomb.foundation.vertx.stream;
-
-import io.vertx.core.Handler;
-import io.vertx.core.buffer.Buffer;
-import io.vertx.core.streams.Pump;
-import io.vertx.core.streams.ReadStream;
-import io.vertx.core.streams.WriteStream;
-
-public class PumpImplEx<T> implements Pump {
-
- private final ReadStream<T> readStream;
-
- private final WriteStream<T> writeStream;
-
- private final Handler<T> dataHandler;
-
- private final Handler<Void> drainHandler;
-
- private int pumped;
-
- public PumpImplEx(ReadStream<T> readStream, WriteStream<T> writeStream, int
maxWriteQueueSize) {
- this(readStream, writeStream);
- this.writeStream.setWriteQueueMaxSize(maxWriteQueueSize);
- }
-
- public PumpImplEx(ReadStream<T> readStream, WriteStream<T> writeStream) {
- this.readStream = readStream;
- this.writeStream = writeStream;
- drainHandler = v -> readStream.resume();
- dataHandler = data -> {
- if (data instanceof Buffer) {
- if (((Buffer) data).length() == 0) {
- return;
- }
- }
- writeStream.write(data);
- incPumped();
- if (writeStream.writeQueueFull()) {
- readStream.pause();
- writeStream.drainHandler(drainHandler);
- }
- };
- }
-
-
- @Override
- public PumpImplEx<T> setWriteQueueMaxSize(int maxSize) {
- writeStream.setWriteQueueMaxSize(maxSize);
- return this;
- }
-
- @Override
- public PumpImplEx<T> start() {
- readStream.handler(dataHandler);
- return this;
- }
-
- @Override
- public PumpImplEx<T> stop() {
- writeStream.drainHandler(null);
- readStream.handler(null);
- return this;
- }
-
-
- @Override
- public synchronized int numberPumped() {
- return pumped;
- }
-
-
- private synchronized void incPumped() {
- pumped++;
- }
-
- public Handler<T> getDataHandler() {
- return dataHandler;
- }
-
- @SuppressWarnings({"rawtypes", "unchecked"})
- public static PumpImplEx getPumpImplEx(ReadStream rs, WriteStream ws) {
- return new PumpImplEx(rs, ws);
- }
-
- @SuppressWarnings({"rawtypes", "unchecked"})
- public static PumpImplEx getPumpImplEx(ReadStream rs, WriteStream ws, int
writeQueueMaxSize) {
- return new PumpImplEx(rs, ws, writeQueueMaxSize);
- }
-}
diff --git
a/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/stream/TestPumpImpl.java
b/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/stream/TestPumpImpl.java
deleted file mode 100644
index 3380550..0000000
---
a/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/stream/TestPumpImpl.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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 org.apache.servicecomb.foundation.vertx.stream;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-import io.vertx.core.Handler;
-import io.vertx.core.buffer.Buffer;
-import io.vertx.core.streams.ReadStream;
-import io.vertx.core.streams.WriteStream;
-import mockit.Expectations;
-import mockit.Mocked;
-
-public class TestPumpImpl {
-
- @Test
- public void testPumpWithPending(@Mocked ReadStream<Object> rs, @Mocked
WriteStream<Object> ws, @Mocked Buffer zeroBuf,
- @Mocked Buffer contentBuf) {
- PumpImplEx<Object> pump = new PumpImplEx<>(rs, ws);
- Handler<Object> handler = pump.getDataHandler();
- new Expectations() {
- {
- zeroBuf.length();
- result = 0;
- contentBuf.length();
- result = 1;
- }
- };
- handler.handle(zeroBuf);
- handler.handle(contentBuf);
- Assert.assertEquals(1, pump.numberPumped());
- handler.handle(contentBuf);
- Assert.assertEquals(2, pump.numberPumped());
- }
-}
diff --git a/integration-tests/it-producer-deploy-springboot2-servlet/pom.xml
b/integration-tests/it-producer-deploy-springboot2-servlet/pom.xml
index d1b810b..b2bd5be 100644
--- a/integration-tests/it-producer-deploy-springboot2-servlet/pom.xml
+++ b/integration-tests/it-producer-deploy-springboot2-servlet/pom.xml
@@ -93,7 +93,6 @@
<!-- Skip the source files which are forked from vertx -->
<exclude>**/io/vertx/ext/web/impl/MimeTypesUtils.java</exclude>
<exclude>**/java/org/apache/servicecomb/transport/rest/vertx/RestBodyHandler.java</exclude>
-
<exclude>**/java/org/apache/servicecomb/foundation/vertx/stream/PumpImplEx.java</exclude>
<!--Skip protobuf generated file-->
<exclude>**/java/org/apache/servicecomb/foundation/protobuf/internal/model/ProtobufRoot.java</exclude>
</excludes>
diff --git
a/integration-tests/it-producer-deploy-springboot2-standalone/pom.xml
b/integration-tests/it-producer-deploy-springboot2-standalone/pom.xml
index 41a3126..14b37af 100644
--- a/integration-tests/it-producer-deploy-springboot2-standalone/pom.xml
+++ b/integration-tests/it-producer-deploy-springboot2-standalone/pom.xml
@@ -93,7 +93,6 @@
<!-- Skip the source files which are forked from vertx -->
<exclude>**/io/vertx/ext/web/impl/MimeTypesUtils.java</exclude>
<exclude>**/java/org/apache/servicecomb/transport/rest/vertx/RestBodyHandler.java</exclude>
-
<exclude>**/java/org/apache/servicecomb/foundation/vertx/stream/PumpImplEx.java</exclude>
<!--Skip protobuf generated file-->
<exclude>**/java/org/apache/servicecomb/foundation/protobuf/internal/model/ProtobufRoot.java</exclude>
</excludes>
diff --git a/java-chassis-distribution/src/release/LICENSE
b/java-chassis-distribution/src/release/LICENSE
index 812d6d9..584a255 100644
--- a/java-chassis-distribution/src/release/LICENSE
+++ b/java-chassis-distribution/src/release/LICENSE
@@ -369,12 +369,6 @@ This product bundles files from vertx which is licensed
under the Apache License
For details, see https://github.com/vert-x3/vertx-web
================================================================
-For
foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/stream/PumpImplEx.java
-================================================================
-This product bundles files from vertx which is licensed under the Apache
License v2.
-For details, see https://github.com/eclipse-vertx/vert.x
-
-================================================================
For
swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/extend/property/AbstractBaseIntegerProperty.java
================================================================
This product bundles files from swagger which is licensed under the Apache
License v2.
diff --git a/pom.xml b/pom.xml
index 1ee8b52..e632223 100644
--- a/pom.xml
+++ b/pom.xml
@@ -201,7 +201,6 @@
<exclude>**/io/vertx/ext/web/impl/MimeTypesUtils.java</exclude>
<exclude>**/io/vertx/core/impl/VertxImpl.java</exclude>
<exclude>**/java/org/apache/servicecomb/transport/rest/vertx/RestBodyHandler.java</exclude>
-
<exclude>**/java/org/apache/servicecomb/foundation/vertx/stream/PumpImplEx.java</exclude>
<!--Skip protobuf generated file-->
<exclude>**/java/org/apache/servicecomb/foundation/protobuf/internal/model/ProtobufRoot.java</exclude>
</excludes>