http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/JoinerTest.java ---------------------------------------------------------------------- diff --git a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/JoinerTest.java b/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/JoinerTest.java deleted file mode 100644 index 134d4fe..0000000 --- a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/JoinerTest.java +++ /dev/null @@ -1,166 +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.qpid.proton.apireconciliation; - -import static java.util.Arrays.asList; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; - -import java.lang.reflect.Method; -import java.util.Collections; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -import org.apache.qpid.proton.apireconciliation.reportwriter.AnnotationAccessor; -import org.junit.Before; -import org.junit.Test; - -public class JoinerTest -{ - private static final String C_FUNCTION1 = "cFunction1"; - private static final String C_FUNCTION2 = "cFunction2"; - private Joiner _joiner; - private Method _method1 = null; - private Method _method2 = null; - private Method _methodSharingFunctionNameAnnotationWithMethod2 = null; - private Method _methodWithoutAnnotation; - - @Before - public void setUp() throws Exception - { - _method1 = getClass().getMethod("javaMethodWithMapping1"); - _method2 = getClass().getMethod("javaMethodWithMapping2"); - _methodSharingFunctionNameAnnotationWithMethod2 = getClass().getMethod("javaMethodSharingFunctionNameAnnotationWithMethod2"); - _methodWithoutAnnotation = getClass().getMethod("javaMethodWithoutAnnotation"); - - AnnotationAccessor annotationAccessor = new AnnotationAccessor(TestAnnotation.class.getName()); - - _joiner = new Joiner(annotationAccessor); - } - - @Test - public void testSingleRowReport() throws Exception - { - List<String> protonCFunctions = asList(C_FUNCTION1); - Set<Method> javaMethods = new HashSet<Method>(asList(_method1)); - - ReconciliationReport reconciliationReport = _joiner.join(protonCFunctions, javaMethods); - assertSingleRowEquals(reconciliationReport, C_FUNCTION1, _method1); - } - - @Test - public void testCFunctionWithoutCorrespondingAnnotatedJavaMethod() throws Exception - { - List<String> protonCFunctions = asList("functionX"); - Set<Method> javaMethods = Collections.emptySet(); - - ReconciliationReport reconciliationReport = _joiner.join(protonCFunctions, javaMethods); - assertSingleRowEquals(reconciliationReport, "functionX", null); - } - - @Test - public void testJavaMethodAnnotatedWithUnknownCFunctionName() throws Exception - { - List<String> protonCFunctions = Collections.emptyList(); - Set<Method> javaMethods = new HashSet<Method>(asList(_method1)); - - ReconciliationReport reconciliationReport = _joiner.join(protonCFunctions, javaMethods); - assertSingleRowEquals(reconciliationReport, null, _method1); - } - - @Test - public void testJavaMethodWithoutAnnotation() throws Exception - { - List<String> protonCFunctions = Collections.emptyList(); - Set<Method> javaMethods = new HashSet<Method>(asList(_methodWithoutAnnotation)); - - ReconciliationReport reconciliationReport = _joiner.join(protonCFunctions, javaMethods); - assertSingleRowEquals(reconciliationReport, null, _methodWithoutAnnotation); - } - - @Test - public void testJavaMethodsWithAnnotationToSameFunction() throws Exception - { - List<String> protonCFunctions = asList(C_FUNCTION2); - Set<Method> javaMethods = new HashSet<Method>(asList(_method2, _methodSharingFunctionNameAnnotationWithMethod2)); - - ReconciliationReport reconciliationReport = _joiner.join(protonCFunctions, javaMethods); - Set<ReportRow> rowSet = TestUtils.getReportRowsFrom(reconciliationReport); - - Set<ReportRow> expectedRowSet = new HashSet<ReportRow>(asList( - new ReportRow(C_FUNCTION2, null), - new ReportRow(null, _method2), - new ReportRow(null, _methodSharingFunctionNameAnnotationWithMethod2))); - - assertEquals(expectedRowSet, rowSet); - } - - @Test - public void testMultipleRowReport() throws Exception - { - List<String> protonCFunctions = asList(C_FUNCTION1, C_FUNCTION2); - Set<Method> javaMethods = new HashSet<Method>(asList(_method1, _method2)); - - ReconciliationReport reconciliationReport = _joiner.join(protonCFunctions, javaMethods); - - Set<ReportRow> rowSet = TestUtils.getReportRowsFrom(reconciliationReport); - - Set<ReportRow> expectedRowSet = new HashSet<ReportRow>(asList( - new ReportRow(C_FUNCTION1, _method1), - new ReportRow(C_FUNCTION2, _method2))); - - assertEquals(expectedRowSet,rowSet); - } - - private void assertSingleRowEquals(ReconciliationReport reconciliationReport, String expectedCFunctionName, Method expectedJavaMethod) - { - Iterator<ReportRow> rowIterator = reconciliationReport.rowIterator(); - ReportRow row = rowIterator.next(); - assertReportRowEquals(row, expectedCFunctionName, expectedJavaMethod); - - assertFalse(rowIterator.hasNext()); - } - - private void assertReportRowEquals(ReportRow row, String expectedCFunctionName, Method expectedMethod) - { - assertEquals(expectedCFunctionName, row.getCFunction()); - assertEquals(expectedMethod, row.getJavaMethod()); - } - - @TestAnnotation(C_FUNCTION1) - public void javaMethodWithMapping1() - { - } - - @TestAnnotation(C_FUNCTION2) - public void javaMethodWithMapping2() - { - } - - @TestAnnotation(C_FUNCTION2) - public void javaMethodSharingFunctionNameAnnotationWithMethod2() - { - } - - public void javaMethodWithoutAnnotation() - { - } -}
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/ReportRowTest.java ---------------------------------------------------------------------- diff --git a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/ReportRowTest.java b/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/ReportRowTest.java deleted file mode 100644 index 65613d3..0000000 --- a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/ReportRowTest.java +++ /dev/null @@ -1,84 +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.qpid.proton.apireconciliation; - -import static org.junit.Assert.*; - -import java.lang.reflect.Method; - -import org.junit.Before; -import org.junit.Test; - -public class ReportRowTest -{ - - private Method _javaMethod1; - private Method _javaMethod2; - - @Before - public void setUp() throws Exception - { - _javaMethod1 = getClass().getMethod("javaMethod1"); - _javaMethod2 = getClass().getMethod("javaMethod2"); - } - - @Test - public void testSames() throws Exception - { - - ReportRow reportRow = new ReportRow("cfunction", _javaMethod1); - Object other = new Object(); - - assertTrue(reportRow.equals(reportRow)); - assertFalse(reportRow.equals(other)); - } - - @Test - public void testEquals() throws Exception - { - - assertTrue(new ReportRow("cfunction", _javaMethod1).equals(new ReportRow("cfunction", _javaMethod1))); - - assertFalse(new ReportRow("cfunction", _javaMethod1).equals(new ReportRow("cfunction2", _javaMethod1))); - assertFalse(new ReportRow("cfunction2", _javaMethod1).equals(new ReportRow("cfunction2", _javaMethod2))); - - assertFalse(new ReportRow("cfunction", _javaMethod1).equals(null)); - - } - - @Test - public void testEqualsWithNulls() throws Exception - { - assertTrue(new ReportRow("cfunction", null).equals(new ReportRow("cfunction", null))); - assertTrue(new ReportRow(null, _javaMethod1).equals(new ReportRow(null, _javaMethod1))); - - assertFalse(new ReportRow("cfunction", _javaMethod1).equals(new ReportRow("cfunction", null))); - assertFalse(new ReportRow("cfunction", _javaMethod1).equals(new ReportRow(null, _javaMethod1))); - } - - // Used by reflection by test methods - public void javaMethod1() - { - } - - // Used by reflection by test methods - public void javaMethod2() - { - } -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/TestAnnotation.java ---------------------------------------------------------------------- diff --git a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/TestAnnotation.java b/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/TestAnnotation.java deleted file mode 100644 index 146e397..0000000 --- a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/TestAnnotation.java +++ /dev/null @@ -1,32 +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.qpid.proton.apireconciliation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.METHOD) -public @interface TestAnnotation -{ - String value(); -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/TestUtils.java ---------------------------------------------------------------------- diff --git a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/TestUtils.java b/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/TestUtils.java deleted file mode 100644 index 19ba849..0000000 --- a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/TestUtils.java +++ /dev/null @@ -1,38 +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.qpid.proton.apireconciliation; - -import java.util.HashSet; -import java.util.Iterator; -import java.util.Set; - -public class TestUtils -{ - public static Set<ReportRow> getReportRowsFrom(ReconciliationReport reconciliationReport) - { - Iterator<ReportRow> rowIterator = reconciliationReport.rowIterator(); - Set<ReportRow> rows = new HashSet<ReportRow>(); - while (rowIterator.hasNext()) - { - rows.add(rowIterator.next()); - } - return rows; - } -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/PackageSearcherTest.java ---------------------------------------------------------------------- diff --git a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/PackageSearcherTest.java b/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/PackageSearcherTest.java deleted file mode 100644 index b85cacb..0000000 --- a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/PackageSearcherTest.java +++ /dev/null @@ -1,84 +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.qpid.proton.apireconciliation.packagesearcher; - -import static org.junit.Assert.assertEquals; - -import java.lang.reflect.Method; -import java.util.Arrays; -import java.util.HashSet; -import java.util.Set; - -import org.apache.qpid.proton.apireconciliation.packagesearcher.testdata.manyimpls.Impl1; -import org.apache.qpid.proton.apireconciliation.packagesearcher.testdata.manyimpls.Impl2; -import org.apache.qpid.proton.apireconciliation.packagesearcher.testdata.manyimpls.InterfaceWithManyImpls; -import org.apache.qpid.proton.apireconciliation.packagesearcher.testdata.noimpl.InterfaceWithoutImpl; -import org.apache.qpid.proton.apireconciliation.packagesearcher.testdata.tree.ImplAtTreeTop; -import org.apache.qpid.proton.apireconciliation.packagesearcher.testdata.tree.InterfaceAtTreeTop; -import org.apache.qpid.proton.apireconciliation.packagesearcher.testdata.tree.leaf.ImplAtLeaf; -import org.junit.Test; - -public class PackageSearcherTest -{ - private PackageSearcher _packageSearcher = new PackageSearcher(); - - @Test - public void testFindDescendsPackageTree() throws Exception - { - String testDataPackage = InterfaceAtTreeTop.class.getPackage().getName(); - Set<Method> actualMethods = _packageSearcher.findMethods(testDataPackage); - assertEquals(2, actualMethods.size()); - - Set<Method> expectedMethods = new HashSet<Method>(Arrays.asList( - ImplAtTreeTop.class.getMethod("method"), - ImplAtLeaf.class.getMethod("method"))); - - assertEquals(expectedMethods, actualMethods); - } - - @Test - public void testZeroImplenentationsOfInterface() throws Exception - { - String testDataPackage = InterfaceWithoutImpl.class.getPackage().getName(); - - Method expectedMethod = InterfaceWithoutImpl.class.getMethod("method"); - - Set<Method> actualMethods = _packageSearcher.findMethods(testDataPackage); - assertEquals(1, actualMethods.size()); - - Method actualMethod = actualMethods.iterator().next(); - assertEquals(expectedMethod, actualMethod); - } - - @Test - public void testManyImplenentationsOfInterface() throws Exception - { - String testDataPackage = InterfaceWithManyImpls.class.getPackage().getName(); - - Set<Method> actualMethods = _packageSearcher.findMethods(testDataPackage); - assertEquals(2, actualMethods.size()); - - String methodName = "method"; - Set<Method> expectedMethods = new HashSet<Method>(Arrays.asList( - Impl1.class.getMethod(methodName), - Impl2.class.getMethod(methodName))); - - assertEquals(expectedMethods, actualMethods); - } -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/manyimpls/Impl1.java ---------------------------------------------------------------------- diff --git a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/manyimpls/Impl1.java b/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/manyimpls/Impl1.java deleted file mode 100644 index 6f9c539..0000000 --- a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/manyimpls/Impl1.java +++ /dev/null @@ -1,29 +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.qpid.proton.apireconciliation.packagesearcher.testdata.manyimpls; - -public class Impl1 implements InterfaceWithManyImpls -{ - - public void method() - { - } - -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/manyimpls/Impl2.java ---------------------------------------------------------------------- diff --git a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/manyimpls/Impl2.java b/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/manyimpls/Impl2.java deleted file mode 100644 index 97ac514..0000000 --- a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/manyimpls/Impl2.java +++ /dev/null @@ -1,29 +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.qpid.proton.apireconciliation.packagesearcher.testdata.manyimpls; - -public class Impl2 implements InterfaceWithManyImpls -{ - - public void method() - { - } - -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/manyimpls/InterfaceWithManyImpls.java ---------------------------------------------------------------------- diff --git a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/manyimpls/InterfaceWithManyImpls.java b/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/manyimpls/InterfaceWithManyImpls.java deleted file mode 100644 index d5f01fa..0000000 --- a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/manyimpls/InterfaceWithManyImpls.java +++ /dev/null @@ -1,26 +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.qpid.proton.apireconciliation.packagesearcher.testdata.manyimpls; - -public interface InterfaceWithManyImpls -{ - void method(); - -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/noimpl/InterfaceWithoutImpl.java ---------------------------------------------------------------------- diff --git a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/noimpl/InterfaceWithoutImpl.java b/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/noimpl/InterfaceWithoutImpl.java deleted file mode 100644 index 8d8302f..0000000 --- a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/noimpl/InterfaceWithoutImpl.java +++ /dev/null @@ -1,25 +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.qpid.proton.apireconciliation.packagesearcher.testdata.noimpl; - -public interface InterfaceWithoutImpl -{ - void method(); -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/subpackage/InterfaceInSubPackage.java ---------------------------------------------------------------------- diff --git a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/subpackage/InterfaceInSubPackage.java b/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/subpackage/InterfaceInSubPackage.java deleted file mode 100644 index c2b5530..0000000 --- a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/subpackage/InterfaceInSubPackage.java +++ /dev/null @@ -1,24 +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.qpid.proton.apireconciliation.packagesearcher.testdata.subpackage; - -public interface InterfaceInSubPackage -{ - void methodWithinSubpackage(); -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/subpackage/impl/ImplOfInterfaceInSubPackage.java ---------------------------------------------------------------------- diff --git a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/subpackage/impl/ImplOfInterfaceInSubPackage.java b/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/subpackage/impl/ImplOfInterfaceInSubPackage.java deleted file mode 100644 index dfda90d..0000000 --- a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/subpackage/impl/ImplOfInterfaceInSubPackage.java +++ /dev/null @@ -1,36 +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.qpid.proton.apireconciliation.packagesearcher.testdata.subpackage.impl; - -import org.apache.qpid.proton.apireconciliation.TestAnnotation; -import org.apache.qpid.proton.apireconciliation.packagesearcher.testdata.subpackage.InterfaceInSubPackage; - -public class ImplOfInterfaceInSubPackage implements InterfaceInSubPackage -{ - - public static final String VALUE_WITHIN_SUBPACKAGE = "subpackageFunction"; - public static final String METHOD_WITHIN_SUBPACKAGE = "methodWithinSubpackage"; - - @TestAnnotation(VALUE_WITHIN_SUBPACKAGE) - public void methodWithinSubpackage() - { - } - -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/tree/ImplAtTreeTop.java ---------------------------------------------------------------------- diff --git a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/tree/ImplAtTreeTop.java b/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/tree/ImplAtTreeTop.java deleted file mode 100644 index 8660d68..0000000 --- a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/tree/ImplAtTreeTop.java +++ /dev/null @@ -1,29 +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.qpid.proton.apireconciliation.packagesearcher.testdata.tree; - -public class ImplAtTreeTop implements InterfaceAtTreeTop -{ - - public void method() - { - } - -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/tree/InterfaceAtTreeTop.java ---------------------------------------------------------------------- diff --git a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/tree/InterfaceAtTreeTop.java b/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/tree/InterfaceAtTreeTop.java deleted file mode 100644 index 9b85666..0000000 --- a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/tree/InterfaceAtTreeTop.java +++ /dev/null @@ -1,26 +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.qpid.proton.apireconciliation.packagesearcher.testdata.tree; - -public interface InterfaceAtTreeTop -{ - void method(); - -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/tree/leaf/ImplAtLeaf.java ---------------------------------------------------------------------- diff --git a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/tree/leaf/ImplAtLeaf.java b/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/tree/leaf/ImplAtLeaf.java deleted file mode 100644 index 511cd76..0000000 --- a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/tree/leaf/ImplAtLeaf.java +++ /dev/null @@ -1,29 +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.qpid.proton.apireconciliation.packagesearcher.testdata.tree.leaf; - -public class ImplAtLeaf implements InterfaceAtLeaf -{ - - public void method() - { - } - -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/tree/leaf/InterfaceAtLeaf.java ---------------------------------------------------------------------- diff --git a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/tree/leaf/InterfaceAtLeaf.java b/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/tree/leaf/InterfaceAtLeaf.java deleted file mode 100644 index b12d794..0000000 --- a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/packagesearcher/testdata/tree/leaf/InterfaceAtLeaf.java +++ /dev/null @@ -1,25 +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.qpid.proton.apireconciliation.packagesearcher.testdata.tree.leaf; - -public interface InterfaceAtLeaf -{ - void method(); -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/reportwriter/AnnotationAccessorTest.java ---------------------------------------------------------------------- diff --git a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/reportwriter/AnnotationAccessorTest.java b/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/reportwriter/AnnotationAccessorTest.java deleted file mode 100644 index 7df2640..0000000 --- a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/reportwriter/AnnotationAccessorTest.java +++ /dev/null @@ -1,72 +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.qpid.proton.apireconciliation.reportwriter; - -import static org.junit.Assert.*; - -import java.lang.reflect.Method; - -import org.apache.qpid.proton.apireconciliation.TestAnnotation; -import org.junit.Before; -import org.junit.Test; - -public class AnnotationAccessorTest -{ - private static final String ANNOTATION_VALUE_1 = "value1"; - private static final String ANNOTATED_METHOD_NAME = "annotatedMethod"; - private static final String UNANNOTATED_METHOD_NAME = "unannotatedMethod"; - - private Method _annotatedMethod; - private Method _unannotatedMethod; - - private String _annotationClassName; - - private AnnotationAccessor _annotationAccessor; - - @Before - public void setUp() throws Exception - { - _annotatedMethod = getClass().getMethod(ANNOTATED_METHOD_NAME); - _unannotatedMethod = getClass().getMethod(UNANNOTATED_METHOD_NAME); - _annotationClassName = TestAnnotation.class.getName(); - _annotationAccessor = new AnnotationAccessor(_annotationClassName); - } - - @Test - public void testGetAnnotationValue() - { - assertEquals(ANNOTATION_VALUE_1, _annotationAccessor.getAnnotationValue(_annotatedMethod)); - } - - @Test - public void testGetAnnotationValueWithoutAnnotationReturnsNull() - { - assertNull(_annotationAccessor.getAnnotationValue(_unannotatedMethod)); - } - - @TestAnnotation(ANNOTATION_VALUE_1) - public void annotatedMethod() - { - } - - public void unannotatedMethod() - { - } -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/reportwriter/ReconciliationReportWriterTest.java ---------------------------------------------------------------------- diff --git a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/reportwriter/ReconciliationReportWriterTest.java b/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/reportwriter/ReconciliationReportWriterTest.java deleted file mode 100644 index 331c9fe..0000000 --- a/design/api-reconciliation/src/test/java/org/apache/qpid/proton/apireconciliation/reportwriter/ReconciliationReportWriterTest.java +++ /dev/null @@ -1,110 +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.qpid.proton.apireconciliation.reportwriter; - -import static org.junit.Assert.*; - -import java.io.File; -import java.io.IOException; -import java.net.URISyntaxException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.apache.qpid.proton.apireconciliation.ReconciliationReport; -import org.apache.qpid.proton.apireconciliation.TestAnnotation; -import org.junit.Before; -import org.junit.Test; - - -public class ReconciliationReportWriterTest -{ - private ReconciliationReportWriter _writer; - private ReconciliationReport _report = new ReconciliationReport(); - - @Before - public void setUp() - { - _writer = new ReconciliationReportWriter(new AnnotationAccessor(TestAnnotation.class.getName())); - } - - @Test - public void testReportWithSingleFullyMappedRow() throws Exception - { - File expectedReport = getClasspathResource("expectedsingle.csv"); - File outputFile = createTemporaryFile(); - - _report.addRow("function1", getClass().getMethod("methodWithMapping")); - _writer.write(outputFile.getAbsolutePath(), _report); - - assertFilesSame(expectedReport, outputFile); - } - - @Test - public void testReportWithManyRowsSomeUnmapped() throws Exception - { - File expectedReport = getClasspathResource("expectedmany.csv"); - File outputFile = createTemporaryFile(); - - _report.addRow("function1", getClass().getMethod("methodWithMapping")); - _report.addRow("function2", getClass().getMethod("anotherMethodWithMapping")); - _report.addRow(null, getClass().getMethod("methodWithoutMapping")); - _report.addRow("function4", null); - _writer.write(outputFile.getAbsolutePath(), _report); - - assertFilesSame(expectedReport, outputFile); - } - - private File getClasspathResource(String filename) throws URISyntaxException - { - URL resource = getClass().getResource(filename); - assertNotNull("Resource " + filename + " could not be found",resource); - return new File(resource.toURI()); - } - - private File createTemporaryFile() throws Exception - { - File tmpFile = File.createTempFile(getClass().getSimpleName(), "csv"); - tmpFile.deleteOnExit(); - return tmpFile; - } - - private void assertFilesSame(File expectedReport, File actualReport) throws IOException - { - assertTrue(expectedReport.canRead()); - assertTrue(actualReport.canRead()); - assertEquals("Report contents unexpected", - FileUtils.readFileToString(expectedReport), - FileUtils.readFileToString(actualReport)); - } - - @TestAnnotation("function1") - public void methodWithMapping() - { - } - - @TestAnnotation("function2") - public void anotherMethodWithMapping() - { - } - - public void methodWithoutMapping() - { - } -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/api-reconciliation/src/test/resources/org/apache/qpid/proton/apireconciliation/reportwriter/expectedmany.csv ---------------------------------------------------------------------- diff --git a/design/api-reconciliation/src/test/resources/org/apache/qpid/proton/apireconciliation/reportwriter/expectedmany.csv b/design/api-reconciliation/src/test/resources/org/apache/qpid/proton/apireconciliation/reportwriter/expectedmany.csv deleted file mode 100644 index 8c8ba3e..0000000 --- a/design/api-reconciliation/src/test/resources/org/apache/qpid/proton/apireconciliation/reportwriter/expectedmany.csv +++ /dev/null @@ -1,5 +0,0 @@ -C function,Java Method,Java Annotation -function1,org.apache.qpid.proton.apireconciliation.reportwriter.ReconciliationReportWriterTest#methodWithMapping,function1 -function2,org.apache.qpid.proton.apireconciliation.reportwriter.ReconciliationReportWriterTest#anotherMethodWithMapping,function2 -,org.apache.qpid.proton.apireconciliation.reportwriter.ReconciliationReportWriterTest#methodWithoutMapping, -function4,, http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/api-reconciliation/src/test/resources/org/apache/qpid/proton/apireconciliation/reportwriter/expectedsingle.csv ---------------------------------------------------------------------- diff --git a/design/api-reconciliation/src/test/resources/org/apache/qpid/proton/apireconciliation/reportwriter/expectedsingle.csv b/design/api-reconciliation/src/test/resources/org/apache/qpid/proton/apireconciliation/reportwriter/expectedsingle.csv deleted file mode 100644 index 082f623..0000000 --- a/design/api-reconciliation/src/test/resources/org/apache/qpid/proton/apireconciliation/reportwriter/expectedsingle.csv +++ /dev/null @@ -1,2 +0,0 @@ -C function,Java Method,Java Annotation -function1,org.apache.qpid.proton.apireconciliation.reportwriter.ReconciliationReportWriterTest#methodWithMapping,function1 http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/build.xml ---------------------------------------------------------------------- diff --git a/design/build.xml b/design/build.xml deleted file mode 100644 index e884b68..0000000 --- a/design/build.xml +++ /dev/null @@ -1,90 +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. ---> -<project name="Qpid Proton Design" default="dist" basedir="."> - <description> - simple example build file - </description> - - <!-- global properties for this build --> - <property name="src" location="src"/> - <property name="build" location="build"/> - <property name="dist" location="dist"/> - <property name="classes" location="${build}/classes"/> - <property name="docs" location="${build}/docs"/> - <property name="umlgraph.jar" location="/usr/share/java/umlgraph.jar"/> - - <target name="init"> - <tstamp/> - <mkdir dir="${classes}"/> - </target> - - <target name="compile" depends="init" description="compile the source "> - <javac srcdir="${src}" destdir="${classes}"/> - </target> - - <target name="uml"> - <property name="uml.dir" value="${docs}/uml"/> - <mkdir dir="${uml.dir}"/> - <path id="uml.source.path"> - <pathelement path="${src}/"/> - </path> - <javadoc sourcepathref="uml.source.path" packagenames="*" package="true"> - <doclet name="org.umlgraph.doclet.UmlGraph" path="${umlgraph.jar}"> - <param name="-d" value="${uml.dir}"/> - </doclet> - </javadoc> - <apply executable="dot" dest="${uml.dir}" parallel="false"> - <arg value="-Tpng"/> - <arg value="-o"/> - <targetfile/> - <srcfile/> - <fileset dir="${uml.dir}" includes="*.dot"/> - <mapper type="glob" from="*.dot" to="*.png"/> - </apply> - </target> - - <target name="apidoc"> - <javadoc destdir="${docs}/api" author="true" version="true" use="true" - windowtitle="Qpid Proton API"> - - <fileset dir="src" defaultexcludes="yes"> - <include name="proton/**.java"/> - </fileset> - - <doctitle><![CDATA[<h1>Qpid Proton</h1>]]></doctitle> - <bottom><![CDATA[<i>Copyright © 2011 Rafael Schloming All Rights Reserved.</i>]]></bottom> - <tag name="todo" scope="all" description="To do:"/> - <link offline="true" href="http://download.oracle.com/javase/6/docs/api/" packagelistLoc="C:\tmp"/> - <link href="http://developer.java.sun.com/developer/products/xml/docs/api/"/> - </javadoc> - </target> - - <target name="doc" depends="uml,apidoc"/> - - <target name="dist" depends="compile,doc" description="generate the distribution"> - <mkdir dir="${dist}/lib"/> - - <jar jarfile="${dist}/lib/qpidproton.jar" basedir="${classes}"/> - <zip destfile="${dist}/docs.zip" basedir="${docs}"/> - <zip destfile="${dist}/srcs.zip" basedir="${basedir}" excludes="build/**,dist/**"/> - </target> - - <target name="clean" description="clean up" > - <delete dir="${build}"/> - <delete dir="${dist}"/> - </target> -</project> http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/proton_objects.dia ---------------------------------------------------------------------- diff --git a/design/proton_objects.dia b/design/proton_objects.dia deleted file mode 100644 index 4fc2634..0000000 Binary files a/design/proton_objects.dia and /dev/null differ http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/src/proton/Accepted.java ---------------------------------------------------------------------- diff --git a/design/src/proton/Accepted.java b/design/src/proton/Accepted.java deleted file mode 100644 index 246eb6c..0000000 --- a/design/src/proton/Accepted.java +++ /dev/null @@ -1,34 +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 proton; - - -/** - * Accepted - * - * @hidden - * - */ - -public interface Accepted extends Outcome -{ - -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/src/proton/Connection.java ---------------------------------------------------------------------- diff --git a/design/src/proton/Connection.java b/design/src/proton/Connection.java deleted file mode 100644 index a7f4af7..0000000 --- a/design/src/proton/Connection.java +++ /dev/null @@ -1,78 +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 proton; - -import java.util.Iterator; - - -/** - * Connection - * - * @opt operations - * @opt types - * - * @composed 1 - "0..n" Session - * @composed 1 - "0..?" Transport - * - */ - -public interface Connection extends Endpoint -{ - - /** - * transition local state to ACTIVE - */ - public void open(); - - /** - * transition local state to CLOSED - */ - public void close(); - - /** - * @return a newly created session - */ - public Session session(); - - /** - * @return a newly created transport - */ - public Transport transport(); - - /** - * @return iterator for endpoints matching the specified local and - * remote states - */ - public Iterator<Endpoint> endpoints(Endpoint.State local, Endpoint.State remote); - - /** - * @return iterator for incoming link endpoints with pending - * transfers - */ - public Iterator<Receiver> incoming(); - - /** - * @return iterator for unblocked outgoing link endpoints with - * offered credits - */ - public Iterator<Sender> outgoing(); - -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/src/proton/Delivery.java ---------------------------------------------------------------------- diff --git a/design/src/proton/Delivery.java b/design/src/proton/Delivery.java deleted file mode 100644 index f68b020..0000000 --- a/design/src/proton/Delivery.java +++ /dev/null @@ -1,65 +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 proton; - - -/** - * Delivery - * - * @opt operations - * @opt types - * - * @assoc - local 0..1 DeliveryState - * @assoc - remote 0..1 DeliveryState - * - * @todo deliveries need to track important link state (source and - * targets) at the point that they were created - * - */ - -public interface Delivery -{ - - public byte[] getTag(); - - public Link getLink(); - - public DeliveryState getLocalState(); - - public DeliveryState getRemoteState(); - - public boolean remoteSettled(); - - public int getMessageFormat(); - - /** - * updates the state of the delivery - * - * @param state the new delivery state - */ - public void disposition(DeliveryState state); - - /** - * settle the delivery - */ - public void settle(); - -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/src/proton/DeliveryBuffer.java ---------------------------------------------------------------------- diff --git a/design/src/proton/DeliveryBuffer.java b/design/src/proton/DeliveryBuffer.java deleted file mode 100644 index bdd592e..0000000 --- a/design/src/proton/DeliveryBuffer.java +++ /dev/null @@ -1,44 +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 proton; - - -/** - * DeliveryBuffer - * - * @opt operations - * @opt attributes - * @opt types - * - * @composed 1 - "0..n" Delivery - * - */ - -public interface DeliveryBuffer -{ - - int next = 0; - - public int getCapacity(); - - public int getSize(); - -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/src/proton/DeliveryState.java ---------------------------------------------------------------------- diff --git a/design/src/proton/DeliveryState.java b/design/src/proton/DeliveryState.java deleted file mode 100644 index 50d23e3..0000000 --- a/design/src/proton/DeliveryState.java +++ /dev/null @@ -1,32 +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 proton; - - -/** - * DeliveryState - * - */ - -public interface DeliveryState -{ - -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/src/proton/Endpoint.java ---------------------------------------------------------------------- diff --git a/design/src/proton/Endpoint.java b/design/src/proton/Endpoint.java deleted file mode 100644 index 6d7a997..0000000 --- a/design/src/proton/Endpoint.java +++ /dev/null @@ -1,119 +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 proton; - - -/** - * Endpoint - * - * @opt operations - * @opt types - * - * @assoc - local 1 Endpoint.State - * @assoc - remote 1 Endpoint.State - * @assoc - local 0..1 Endpoint.Error - * @assoc - remote 0..1 Endpoint.Error - */ - -public interface Endpoint -{ - - /** - * Represents the state of a communication endpoint. - */ - public static final class State { - - private String name; - - private State(String name) - { - this.name = name; - } - - public String toString() - { - return name; - } - - }; - - public static final State UNINIT = new State("UNINIT"); - public static final State ACTIVE = new State("ACTIVE"); - public static final State CLOSED = new State("CLOSED"); - - /** - * Holds information about an endpoint error. - */ - public static final class Error { - - private String name; - private String description; - - public Error(String name, String description) - { - this.name = name; - this.description = description; - } - - public Error(String name) - { - this(name, null); - } - - public String toString() - { - if (description == null) - { - return name; - } - else - { - return String.format("%s -- %s", name, description); - } - } - } - - /** - * @return the local endpoint state - */ - public State getLocalState(); - - /** - * @return the remote endpoint state (as last communicated) - */ - public State getRemoteState(); - - /** - * @return the local endpoint error, or null if there is none - */ - public Error getLocalError(); - - /** - * @return the remote endpoint error, or null if there is none - */ - public Error getRemoteError(); - - /** - * free the endpoint and any associated resources - */ - public void free(); - -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/src/proton/Link.java ---------------------------------------------------------------------- diff --git a/design/src/proton/Link.java b/design/src/proton/Link.java deleted file mode 100644 index ec80b62..0000000 --- a/design/src/proton/Link.java +++ /dev/null @@ -1,71 +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 proton; - -import java.util.Iterator; - - -/** - * Link - * - * @opt operations - * @opt types - * - * @assoc 1 - n Delivery - * - * @todo make links able to exist independently from - * sessions/connections and allow to migrate - * - */ - -public interface Link extends Endpoint -{ - - /** - * transition local state to ACTIVE - */ - public void attach(); - - /** - * transition local state to CLOSED - */ - public void detach(); - - /** - * @param tag a tag for the delivery - * - * @return a Delivery object - */ - public Delivery delivery(byte[] tag); - - /** - * @return the unsettled deliveries for this link - */ - public Iterator<Delivery> unsettled(); - - /** - * Advances the current delivery to the next delivery on the link. - * - * @return the next delivery or null if there is none - */ - public Delivery next(); - -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/src/proton/Modified.java ---------------------------------------------------------------------- diff --git a/design/src/proton/Modified.java b/design/src/proton/Modified.java deleted file mode 100644 index 1f07cb0..0000000 --- a/design/src/proton/Modified.java +++ /dev/null @@ -1,34 +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 proton; - - -/** - * Modified - * - * @hidden - * - */ - -public interface Modified extends Outcome -{ - -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/src/proton/Outcome.java ---------------------------------------------------------------------- diff --git a/design/src/proton/Outcome.java b/design/src/proton/Outcome.java deleted file mode 100644 index d0a4064..0000000 --- a/design/src/proton/Outcome.java +++ /dev/null @@ -1,34 +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 proton; - - -/** - * Outcome - * - * @hidden - * - */ - -public interface Outcome extends DeliveryState -{ - -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/src/proton/Received.java ---------------------------------------------------------------------- diff --git a/design/src/proton/Received.java b/design/src/proton/Received.java deleted file mode 100644 index 37856bf..0000000 --- a/design/src/proton/Received.java +++ /dev/null @@ -1,34 +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 proton; - - -/** - * Received - * - * @hidden - * - */ - -public interface Received extends DeliveryState -{ - -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/src/proton/Receiver.java ---------------------------------------------------------------------- diff --git a/design/src/proton/Receiver.java b/design/src/proton/Receiver.java deleted file mode 100644 index f46bfa4..0000000 --- a/design/src/proton/Receiver.java +++ /dev/null @@ -1,52 +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 proton; - - -/** - * Receiver - * - * @opt operations - * @opt types - * - */ - -public interface Receiver extends Link -{ - - /** - * issue the specified number of credits - */ - public void flow(int credits); - - /** - * Receive message data for the current delivery. - * - * @param bytes the destination array where the message data is written - * @param offset the index to begin writing into the array - * @param size the maximum number of bytes to write - * - * @return the number of bytes written or -1 if there is no more - * message data for the current delivery - */ - public int recv(byte[] bytes, int offset, int size); - -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/src/proton/Rejected.java ---------------------------------------------------------------------- diff --git a/design/src/proton/Rejected.java b/design/src/proton/Rejected.java deleted file mode 100644 index 92f1ec4..0000000 --- a/design/src/proton/Rejected.java +++ /dev/null @@ -1,34 +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 proton; - - -/** - * Rejected - * - * @hidden - * - */ - -public interface Rejected extends Outcome -{ - -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/src/proton/Released.java ---------------------------------------------------------------------- diff --git a/design/src/proton/Released.java b/design/src/proton/Released.java deleted file mode 100644 index e480ef7..0000000 --- a/design/src/proton/Released.java +++ /dev/null @@ -1,34 +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 proton; - - -/** - * Released - * - * @hidden - * - */ - -public interface Released extends Outcome -{ - -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/src/proton/Sender.java ---------------------------------------------------------------------- diff --git a/design/src/proton/Sender.java b/design/src/proton/Sender.java deleted file mode 100644 index 36bd68d..0000000 --- a/design/src/proton/Sender.java +++ /dev/null @@ -1,55 +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 proton; - - -/** - * Sender - * - * @opt operations - * @opt types - * - */ - -public interface Sender extends Link -{ - - /** - * indicates pending deliveries - * - * @param credits the number of pending deliveries - * @todo is this absolute or cumulative? - */ - public void offer(int credits); - - /** - * Sends message data for the current delivery. - * - * @param bytes the message data - */ - public void send(byte[] bytes); - - /** - * Abort the current delivery. - */ - public void abort(); - -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/src/proton/Session.java ---------------------------------------------------------------------- diff --git a/design/src/proton/Session.java b/design/src/proton/Session.java deleted file mode 100644 index b6ae6f9..0000000 --- a/design/src/proton/Session.java +++ /dev/null @@ -1,76 +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 proton; - -import java.util.Iterator; - - -/** - * Session - * - * @opt operations - * @opt types - * - * @composed 1 - "0..n" Link - * @composed 1 incoming 1 DeliveryBuffer - * @composed 1 outgoing 1 DeliveryBuffer - * - */ - -public interface Session extends Endpoint -{ - - /** - * transition local state to ACTIVE - */ - public void begin(); - - /** - * transition local state to CLOSED - */ - public void end(); - - /** - * @return a newly created outgoing link - */ - public Sender sender(); - - /** - * @return a newly created incoming link - */ - public Receiver receiver(); - - /** - * @see Connection#endpoints(Endpoint.State, Endpoint.State) - */ - public Iterator<Endpoint> endpoints(Endpoint.State local, Endpoint.State remote); - - /** - * @see Connection#incoming() - */ - public Iterator<Receiver> incoming(); - - /** - * @see Connection#outgoing() - */ - public Iterator<Sender> outgoing(); - -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/src/proton/Transport.java ---------------------------------------------------------------------- diff --git a/design/src/proton/Transport.java b/design/src/proton/Transport.java deleted file mode 100644 index 0ff89ac..0000000 --- a/design/src/proton/Transport.java +++ /dev/null @@ -1,53 +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 proton; - - -/** - * Transport - * - * @opt operations - * @opt types - * - */ - -public interface Transport extends Endpoint -{ - - /** - * @param bytes input bytes for consumption - * @param offset the offset within bytes where input begins - * @param size the number of bytes available for input - * - * @return the number of bytes consumed - */ - public int input(byte[] bytes, int offset, int size); - - /** - * @param bytes array for output bytes - * @param offset the offset within bytes where output begins - * @param size the number of bytes available for output - * - * @return the number of bytes written - */ - public int output(byte[] bytes, int offset, int size); - -} http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccdcf329/design/src/proton/package.html ---------------------------------------------------------------------- diff --git a/design/src/proton/package.html b/design/src/proton/package.html deleted file mode 100644 index c72c78f..0000000 --- a/design/src/proton/package.html +++ /dev/null @@ -1,122 +0,0 @@ -<html> - <body> - <p> - Connections are the primary unit of resource management. - Sessions and Links are components of connections. When the - Connection is freed/discarded, any resources associated with - the Sessions and Links are automatically destroyed or discarded - as well. - </p> - - <p> - Each of the Connection, Session, and Link endpoints share a - common state model. Note that although this follows the same - pattern as the protocol state model for open/close, begin/end, - and attach/detach, this does not necessarily correspond one to - one to the protocol state model for endpoints. For example the - engine implementation may detach/reattach a link endpoint - without visibly changing the external state. - </p> - - <p> - The state of each endpoint is divided into two parts, one - reflecting the state of the local endpoint, and the other - reflecting the state of the remote endpoint as last - communicated. - </p> - - <pre> - LOCAL: - UNINIT - ACTIVE - CLOSED - - REMOTE: - UNINIT - ACTIVE - CLOSED - </pre> - - <p>In total there are 9 possible states:</p> - - <pre> - LOCAL REMOTE Example - ------------------------------------------------------------------------- - UNINIT UNINIT A newly created connection. - - UNINIT ACTIVE A remotely initiated connection - prior to full establishment. - - UNINIT CLOSED A remotely initiated connection that - has been closed prior to full - establishment. - - ACTIVE UNINIT A locally initiated connection prior - to full establishment. - - ACTIVE ACTIVE A fully established connection. - - ACTIVE CLOSED A remotely terminated connection. - - CLOSED UNINIT A locally initiated connection that - has been closed prior to full - establishment. - - CLOSED ACTIVE A locally terminated connection. - - CLOSED CLOSED A fully terminated connection. - </pre> - - <p> - Additionally each endpoint has an error slot which may be filled - with additional information regarding error conditions, e.g. why - the remote endpoint was transitioned to CLOSED. - </p> - - <h3>Questions:</h3> - - <ul> - <li>The transfer buffer class may not necessarily be explicitly part - of the external interface, e.g. it could be absorbed into the - session interface.</li> - <li>how do we confirm acheiving active/active without iterating - over all active/active endpoints? - <ul> - <li>add an ignore/interest flag as part of generic endpoint state?</li> - <li>add pending state to local state?</li> - </ul> - </li> - <li>what are credits exactly? - <ul> - <li>how does synchronous get work? - <ul><li>implies credit unit needs to be messages?</li></ul> - <li>credits may not correspond exactly with on-the-wire credits due - to local buffering</li> - </ul> - </li> - <li>how would 0-x impls work given that we're passing bytes directly to send? - <ul> - <li>have a generic property get/set API? - <ul><li>this could address per transfer flags as well</li></ul> - </li> - </ul> - </li> - <li>how do large messages work? - <ul><li>does send need a done flag for multiple transfers?</li></ul> - </li> - <li>how does resume work?</li> - <li>how does abort work?</li> - <li>how do we send settled? - <ul> - <li>just call settle on the returned transfer, the engine MUST optimize</li> - </ul> - </li> - <li> - how do we deal with send and receive modes on individual transfers? - <ul><li>could just twiddle the link ones and set them on the - transfer frame if they differ from what they were when the - attach was made</li></ul> - </li> - </ul> - </body> -</html> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
