summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2008-05-25 05:14:26 (EDT)
committerEike Stepper2008-05-25 05:14:26 (EDT)
commitd60cb62fd5a015e3f6f2ea1929834f4a14e497a8 (patch)
tree59f2763748c44f0668d570d1fad54c7f9e87d061
parent1ea464b36c04f9391b999ae82033eb5a89b98395 (diff)
downloadcdo-d60cb62fd5a015e3f6f2ea1929834f4a14e497a8.zip
cdo-d60cb62fd5a015e3f6f2ea1929834f4a14e497a8.tar.gz
cdo-d60cb62fd5a015e3f6f2ea1929834f4a14e497a8.tar.bz2
[232648] Provide an HTTPConnector
https://bugs.eclipse.org/bugs/show_bug.cgi?id=232648
-rw-r--r--plugins/org.eclipse.net4j.http/HTTPServer.launch349
-rw-r--r--plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPAcceptor.java8
-rw-r--r--plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPClientConnector.java17
-rw-r--r--plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/Net4jTransportServlet.java9
-rw-r--r--plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/tests/HTTPTest.java4
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/buffer/Buffer.java12
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/IBuffer.java82
7 files changed, 411 insertions, 70 deletions
diff --git a/plugins/org.eclipse.net4j.http/HTTPServer.launch b/plugins/org.eclipse.net4j.http/HTTPServer.launch
index d64d9c9..7a2ff15 100644
--- a/plugins/org.eclipse.net4j.http/HTTPServer.launch
+++ b/plugins/org.eclipse.net4j.http/HTTPServer.launch
@@ -18,10 +18,357 @@
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true&#13;&#10;-Dorg.osgi.service.http.port=8080"/>
<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="selectedPlugin" value="org.eclipse.net4j"/>
+<stringAttribute key="selectedPlugin" value="org.eclipse.net4j.util"/>
<booleanAttribute key="show_selected_only" value="false"/>
<stringAttribute key="target_bundles" value="org.eclipse.equinox.http.jetty@default:default,org.eclipse.osgi.services@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.equinox.common@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.core.runtime@default:default,org.eclipse.equinox.http.servlet@default:default,org.apache.commons.codec*1.3.0.v200803061910@default:default,org.apache.commons.httpclient*3.1.0.v200803061910@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.equinox.preferences@default:default,org.apache.commons.logging*1.1.1.v200803061910@default:default,org.eclipse.core.jobs@default:default,org.mortbay.jetty*5.1.14.v200804221617@default:default,org.junit*3.8.2.v20080327@default:default,org.eclipse.equinox.app@default:default,javax.servlet*2.5.0.v200804152124@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.osgi@:"/>
<booleanAttribute key="tracing" value="true"/>
+<mapAttribute key="tracingOptions">
+<mapEntry key="org.eclipse.emf.cdo.protocol/debug.id" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.resource" value="true"/>
+<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser" value="false"/>
+<mapEntry key="org.eclipse.ui/perf/part.create" value="800"/>
+<mapEntry key="org.eclipse.core.resources/build/needbuildstack" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug" value="false"/>
+<mapEntry key="org.eclipse.ui.intro.universal/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.util.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/>
+<mapEntry key="org.eclipse.core.resources/strings" value="false"/>
+<mapEntry key="org.eclipse.ui.ide/debug/internalerror/openDialog" value="false"/>
+<mapEntry key="org.eclipse.net4j.util/debug.lifecycle" value="true"/>
+<mapEntry key="org.eclipse.net4j.db/debug" value="true"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener" value="false"/>
+<mapEntry key="org.eclipse.pde.core/validation" value="false"/>
+<mapEntry key="org.eclipse.ui/perf/page.listeners" value="200"/>
+<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.session" value="true"/>
+<mapEntry key="org.eclipse.jdt.ui/perf/content_assist_sorters/extensions" value=""/>
+<mapEntry key="org.eclipse.net4j/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.util" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.protocol/perf.revision.writing" value="false"/>
+<mapEntry key="org.eclipse.team.cvs.core/debug" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug" value="true"/>
+<mapEntry key="org.eclipse.osgi/monitor/resources" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/>
+<mapEntry key="org.eclipse.help/debug/toc" value="false"/>
+<mapEntry key="org.eclipse.jdt.apt.core/debug/generatedFileMaps" value="false"/>
+<mapEntry key="org.eclipse.ui.intro.universal/trace/logInfo" value="true"/>
+<mapEntry key="org.eclipse.osgi/debug/messageBundles" value="false"/>
+<mapEntry key="org.eclipse.ui.ide/debug/undomonitor" value="false"/>
+<mapEntry key="org.eclipse.update.core/debug/parsing" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/>
+<mapEntry key="org.eclipse.pde.core/cache" value="false"/>
+<mapEntry key="org.eclipse.team.core/streams" value="false"/>
+<mapEntry key="org.eclipse.net4j.tcp/protocol.registration.timeout" value="10000"/>
+<mapEntry key="org.eclipse.team.cvs.core/threading" value="false"/>
+<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.model" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.mysql/debug.sql" value="true"/>
+<mapEntry key="org.eclipse.ui/perf/perspective.switch" value="800"/>
+<mapEntry key="org.eclipse.net4j/debug.selector" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.view" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo/perf.revision.loading" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.types" value="true"/>
+<mapEntry key="org.eclipse.ui/debug/declaredImages" value="false"/>
+<mapEntry key="org.eclipse.ui/perf/contentTypes" value="200"/>
+<mapEntry key="org.eclipse.ui/debug/swtdebug" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/perf/selection" value="300"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.store" value="true"/>
+<mapEntry key="org.eclipse.osgi/profile/debug" value="false"/>
+<mapEntry key="org.eclipse.core.resources/contenttype/cache" value="false"/>
+<mapEntry key="org.eclipse.ui.ide/debug/gc" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.resource" value="true"/>
+<mapEntry key="org.eclipse.jdt.apt.pluggable.core/debug" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.ui/test" value="false"/>
+<mapEntry key="org.eclipse.net4j.db.derby/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.util/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.http/protocol.registration.timeout" value="10000"/>
+<mapEntry key="org.eclipse.net4j.jms.admin/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/model" value="false"/>
+<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser/inprocess" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/stateSaveRestore" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/deltas" value="false"/>
+<mapEntry key="org.eclipse.net4j.buddies.protocol/debug" value="true"/>
+<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/>
+<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/checkConditions" value="300"/>
+<mapEntry key="org.eclipse.core.jobs/jobs/locks" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/perf/explorer/makeActions" value="1000"/>
+<mapEntry key="org.eclipse.ui/perf/workbench.start" value="45000"/>
+<mapEntry key="org.eclipse.ui/debug/swtdebugglobal" value="false"/>
+<mapEntry key="org.eclipse.core.resources/perf/listeners" value="500"/>
+<mapEntry key="org.eclipse.jface.text/debug/FastPartitioner/PositionCache" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo/perf" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/services" value="false"/>
+<mapEntry key="org.eclipse.update.core/debug/reconciler" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/perf/completion" value="300"/>
+<mapEntry key="org.eclipse.help/debug/search" value="false"/>
+<mapEntry key="org.eclipse.ui/perf/part.control" value="800"/>
+<mapEntry key="org.eclipse.ui/experimental/menus" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/job.stale" value="false"/>
+<mapEntry key="org.eclipse.ui/perf/uijob" value="200"/>
+<mapEntry key="org.eclipse.ui/trace/multipageeditor" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/generics" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.protocol/debug.model" value="true"/>
+<mapEntry key="org.eclipse.jdt.core/debug/resolution" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.protocol/perf.revision" value="false"/>
+<mapEntry key="org.eclipse.ui.intro/debug" value="true"/>
+<mapEntry key="org.eclipse.jdt.core/perf/containerinitializer" value="5000"/>
+<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/>
+<mapEntry key="org.eclipse.osgi/monitor/classes" value="false"/>
+<mapEntry key="org.eclipse.net4j.chat/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.util/debug.concurrency" value="true"/>
+<mapEntry key="org.eclipse.jdt.ui/debug/TypeConstraints" value="false"/>
+<mapEntry key="org.eclipse.net4j/debug.buffer" value="true"/>
+<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/location" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save" value="false"/>
+<mapEntry key="org.eclipse.net4j.db.mysql/debug" value="true"/>
+<mapEntry key="org.eclipse.ui.intro/trace/logPerformance" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/>
+<mapEntry key="org.eclipse.debug.core/debug" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/showAllJobs" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/requires" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/sources" value="false"/>
+<mapEntry key="org.eclipse.net4j/debug.signal" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.protocol/perf.revision.reading" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/perf/search/participants" value="300"/>
+<mapEntry key="org.eclipse.net4j.jms/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.core.contenttype/debug" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/>
+<mapEntry key="org.eclipse.help.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/viewer" value="false"/>
+<mapEntry key="org.eclipse.osgi/profile/startup" value="false"/>
+<mapEntry key="org.eclipse.jdt.apt.core/debug" value="false"/>
+<mapEntry key="org.eclipse.net4j.chat.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.jdt.core/perf/javadeltalistener" value="500"/>
+<mapEntry key="org.eclipse.net4j/debug.acceptor" value="true"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/>
+<mapEntry key="org.eclipse.update.core/debug/install" value="false"/>
+<mapEntry key="org.eclipse.core.jobs/jobs/errorondeadlock" value="false"/>
+<mapEntry key="org.eclipse.update.core/debug/warning" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/updateSequence" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/perf/explorer/createPartControl" value="1300"/>
+<mapEntry key="org.eclipse.net4j.buddies/debug" value="true"/>
+<mapEntry key="org.eclipse.debug.core/debug/commands" value="false"/>
+<mapEntry key="org.eclipse.net4j.buddies.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.core.jobs/jobs" value="false"/>
+<mapEntry key="org.eclipse.core.jobs/jobs/beginend" value="false"/>
+<mapEntry key="org.eclipse.pde.core/debug" value="true"/>
+<mapEntry key="org.eclipse.osgi/monitor/activation" value="false"/>
+<mapEntry key="org.eclipse.core.resources/perf/builders" value="10000"/>
+<mapEntry key="org.eclipse.ui.workbench/debug" value="false"/>
+<mapEntry key="org.eclipse.jdt.apt.core/debug/generatedFiles" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/debug" value="false"/>
+<mapEntry key="org.eclipse.ui/perf/part.activate" value="200"/>
+<mapEntry key="org.eclipse.help/debug" value="true"/>
+<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo/perf.revision" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/contextlaunching" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/handlers.performance" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.transaction" value="true"/>
+<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/perf/reconcile" value="1000"/>
+<mapEntry key="org.eclipse.ui/trace/contexts" value="false"/>
+<mapEntry key="org.eclipse.ui.intro/flags/noBrowser" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.revision" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.derby/debug.sql" value="true"/>
+<mapEntry key="org.eclipse.jdt.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.equinox.security/debug" value="false"/>
+<mapEntry key="org.eclipse.ui/perf/part.input" value="200"/>
+<mapEntry key="org.eclipse.emf.cdo.examples/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.util/debug.registry" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.examples.spring/debug" value="true"/>
+<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/>
+<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/>
+<mapEntry key="org.eclipse.debug.ui/debug/launchhistory" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.protocol/debug" value="true"/>
+<mapEntry key="org.eclipse.osgi/resolver/cycles" value="false"/>
+<mapEntry key="org.eclipse.osgi/eclipseadaptor/converter/debug" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/cpresolution/advanced" value="false"/>
+<mapEntry key="org.eclipse.net4j/set.signal.thread.name" value="false"/>
+<mapEntry key="org.eclipse.net4j.http/debug" value="true"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPartReference" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.protocol/perf" value="false"/>
+<mapEntry key="org.eclipse.core.resources/history" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener2" value="false"/>
+<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/imports" value="false"/>
+<mapEntry key="org.eclipse.osgi/defaultprofile/logsynchronously" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/debug/ResultCollector" value="false"/>
+<mapEntry key="org.eclipse.core.expressions/tracePropertyResolving" value="false"/>
+<mapEntry key="org.eclipse.net4j.jms.server/debug.store" value="true"/>
+<mapEntry key="org.eclipse.ui/perf/showHeapStatus" value="true"/>
+<mapEntry key="org.eclipse.net4j/debug.channel" value="true"/>
+<mapEntry key="org.eclipse.ui/perf/part.listeners" value="200"/>
+<mapEntry key="org.eclipse.osgi/resolver/wiring" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/perf/explorer/RefactorActionGroup" value="150"/>
+<mapEntry key="org.eclipse.jface.text/debug/AbstractInformationControlManager" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/perf/content_assist/extensions" value="1000"/>
+<mapEntry key="org.eclipse.pde.core/classpath" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore" value="false"/>
+<mapEntry key="org.eclipse.equinox.security/debug/loginFramework" value="false"/>
+<mapEntry key="org.eclipse.update.core/debug/web" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.help.webapp/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.jms/debug" value="true"/>
+<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.protocol/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.osgi/defaultprofile/logfilename" value=""/>
+<mapEntry key="org.eclipse.emf.cdo.server.hibernate.id/debug" value="true"/>
+<mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/sourcemapper" value="false"/>
+<mapEntry key="org.eclipse.osgi/defaultprofile/buffersize" value="256"/>
+<mapEntry key="org.eclipse.ui/trace/commands" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/manifest" value="false"/>
+<mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/>
+<mapEntry key="org.eclipse.core.runtime/perf" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/>
+<mapEntry key="org.eclipse.net4j.buddies.server/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.object" value="true"/>
+<mapEntry key="org.eclipse.core.resources/refresh" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug" value="false"/>
+<mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/contributions" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/operations.verbose" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.protocol/debug.revision" value="true"/>
+<mapEntry key="org.eclipse.jface.text.source/debug/RevisionRulerColumn" value="false"/>
+<mapEntry key="org.eclipse.equinox.registry/debug/events" value="false"/>
+<mapEntry key="org.eclipse.net4j.db.hsqldb/debug.sql" value="true"/>
+<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/>
+<mapEntry key="org.eclipse.osgi/trace/activation" value="false"/>
+<mapEntry key="org.eclipse.ui.ide/debug" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/keyBindings" value="false"/>
+<mapEntry key="org.eclipse.update.core/debug/type" value="false"/>
+<mapEntry key="org.eclipse.jdt.apt.core/debug/compilationEnv" value="false"/>
+<mapEntry key="org.eclipse.debug.core/debug/events" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/preferences/plugin" value="false"/>
+<mapEntry key="org.eclipse.core.jobs/jobs/timing" value="false"/>
+<mapEntry key="org.eclipse.ui.browser/debug" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/builder/stats" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/interrupt" value="false"/>
+<mapEntry key="org.eclipse.net4j.util/debug.lifecycle.dump" value="true"/>
+<mapEntry key="org.eclipse.jdt.core/perf/variableinitializer" value="5000"/>
+<mapEntry key="org.eclipse.help/debug/context" value="false"/>
+<mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.server.db/debug" value="true"/>
+<mapEntry key="org.eclipse.osgi/debug/packageadmin" value="false"/>
+<mapEntry key="org.eclipse.equinox.security.ui/debug/storage" value="false"/>
+<mapEntry key="org.eclipse.ui.intro.universal/trace/logPerformance" value="false"/>
+<mapEntry key="org.eclipse.net4j.jms.admin/debug" value="true"/>
+<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/>
+<mapEntry key="org.eclipse.equinox.preferences/set" value="false"/>
+<mapEntry key="org.eclipse.pde.build/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.preferences/general" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/workingSets" value="false"/>
+<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/>
+<mapEntry key="org.eclipse.net4j.examples/debug" value="true"/>
+<mapEntry key="org.eclipse.osgi/debug/security" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/compatibility/debug" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/formatter" value="false"/>
+<mapEntry key="org.eclipse.update.core/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.adapter" value="true"/>
+<mapEntry key="org.eclipse.team.core/debug" value="false"/>
+<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/>
+<mapEntry key="org.eclipse.osgi/trace/filename" value="runtime.traces"/>
+<mapEntry key="org.eclipse.equinox.preferences/get" value="false"/>
+<mapEntry key="org.eclipse.net4j.jvm/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.jms.server.jdbc/debug" value="true"/>
+<mapEntry key="org.eclipse.ui/trace/handlers.verbose" value="false"/>
+<mapEntry key="org.eclipse.equinox.registry/debug" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.repository" value="true"/>
+<mapEntry key="org.eclipse.jdt.core.manipulation/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.debug/debug" value="true"/>
+<mapEntry key="org.eclipse.osgi/resolver/debug" value="false"/>
+<mapEntry key="org.eclipse.jface.text/debug/AnnotationPainter" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/uses" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/>
+<mapEntry key="org.eclipse.net4j.util/debug.om" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.ui/test.bulk_add" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.session" value="true"/>
+<mapEntry key="org.eclipse.ui.intro/trace/printHTML" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPropertyChangeListener" value="false"/>
+<mapEntry key="org.eclipse.team.core/threading" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/>
+<mapEntry key="org.eclipse.ui/debug" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/>
+<mapEntry key="org.eclipse.team.core/backgroundevents" value="false"/>
+<mapEntry key="org.eclipse.core.jobs/jobs/shutdown" value="false"/>
+<mapEntry key="org.eclipse.osgi/trace/filters" value="trace.properties"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javadelta/verbose" value="false"/>
+<mapEntry key="org.eclipse.core.resources/debug" value="false"/>
+<mapEntry key="org.eclipse.ui.ide/debug/markers" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/stacktrace" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/contentProvider" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPerspectiveListener" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.transaction" value="true"/>
+<mapEntry key="org.eclipse.osgi/debug/bundleTime" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/>
+<mapEntry key="org.eclipse.osgi/profile/impl" value="org.eclipse.osgi.internal.profile.DefaultProfileLogger"/>
+<mapEntry key="org.eclipse.ui/perf/workbench.restore" value="30000"/>
+<mapEntry key="org.eclipse.net4j.jms.server/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.net4j/debug.buffer.stream" value="true"/>
+<mapEntry key="org.eclipse.jdt.core/debug" value="true"/>
+<mapEntry key="org.eclipse.osgi/debug/filter" value="false"/>
+<mapEntry key="org.eclipse.update.configurator/debug" value="false"/>
+<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/>
+<mapEntry key="org.eclipse.core.resources/contenttype" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/operations" value="false"/>
+<mapEntry key="org.eclipse.net4j.db.hsqldb/debug" value="true"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener2" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javamodel/cache" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.server.hibernate/debug" value="true"/>
+<mapEntry key="org.eclipse.osgi/debug/loader" value="false"/>
+<mapEntry key="org.eclipse.core.resources/preferences" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/debug/ASTProvider" value="false"/>
+<mapEntry key="org.eclipse.core.resources/perf/snapshot" value="1000"/>
+<mapEntry key="org.eclipse.ui/trace/handlers" value="false"/>
+<mapEntry key="org.eclipse.ui/perf/perspective.listeners" value="200"/>
+<mapEntry key="org.eclipse.osgi/debug/events" value="false"/>
+<mapEntry key="org.eclipse.osgi/trace/classLoading" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.repository" value="true"/>
+<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/>
+<mapEntry key="org.eclipse.osgi/profile/benchmark" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.revision" value="true"/>
+<mapEntry key="org.eclipse.equinox.security.ui/debug" value="false"/>
+<mapEntry key="org.eclipse.ui/perf/perspective.create" value="800"/>
+<mapEntry key="org.eclipse.net4j/debug.connector" value="true"/>
+<mapEntry key="org.eclipse.ui/trace/contexts.performance" value="false"/>
+<mapEntry key="org.eclipse.net4j.jms.server/debug" value="true"/>
+<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/>
+<mapEntry key="org.eclipse.team.cvs.ssh/debug" value="false"/>
+<mapEntry key="org.eclipse.ui/perf/part.init" value="800"/>
+<mapEntry key="org.eclipse.core.runtime/perf/success" value="false"/>
+<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/createChanges" value="300"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPageListener" value="false"/>
+<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin" value="false"/>
+<mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/>
+<mapEntry key="org.eclipse.core.resources/natures" value="false"/>
+<mapEntry key="org.eclipse.net4j.tcp/debug" value="true"/>
+<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/>
+<mapEntry key="org.eclipse.core.resources/perf/save.participants" value="500"/>
+<mapEntry key="org.eclipse.net4j.db/debug.sql" value="true"/>
+</mapAttribute>
<booleanAttribute key="useDefaultConfigArea" value="true"/>
<stringAttribute key="workspace_bundles" value="org.eclipse.net4j.http@default:default,org.eclipse.net4j.jvm@default:default,org.eclipse.net4j.tests@default:default,org.eclipse.net4j.tcp@default:default,org.eclipse.net4j@default:default,org.eclipse.net4j.util@default:default"/>
</launchConfiguration>
diff --git a/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPAcceptor.java b/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPAcceptor.java
index ec4a7b0..76aa123 100644
--- a/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPAcceptor.java
+++ b/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPAcceptor.java
@@ -151,7 +151,13 @@ public class HTTPAcceptor extends Acceptor implements IHTTPAcceptor, INet4jTrans
IBuffer buffer = getBufferProvider().provideBuffer();
ByteBuffer byteBuffer = buffer.startPutting(channelIndex);
- byteBuffer.put(data);
+ for (int i = 0; i < data.length; i++)
+ {
+ System.out.println("Payload: " + data[i]);
+ byteBuffer.put(data[i]);
+ }
+
+ buffer.flip();
channel.handleBufferFromMultiplexer(buffer);
}
diff --git a/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPClientConnector.java b/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPClientConnector.java
index b86f6dd..db1cfa9 100644
--- a/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPClientConnector.java
+++ b/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPClientConnector.java
@@ -83,14 +83,21 @@ public class HTTPClientConnector extends HTTPConnector
{
public void handleOut(ExtendedDataOutputStream out) throws IOException
{
- buffer.flip();
- ByteBuffer byteBuffer = buffer.getByteBuffer();
- byte[] data = byteBuffer.array();
-
out.writeByte(INet4jTransportServlet.OPCODE_SEND_BUFFER);
out.writeString(getConnectorID());
out.writeShort(channel.getChannelIndex());
- out.writeByteArray(data);
+
+ buffer.flip();
+ ByteBuffer byteBuffer = buffer.getByteBuffer();
+ byteBuffer.position(IBuffer.HEADER_SIZE);
+ int length = byteBuffer.limit() - byteBuffer.position();
+ out.writeShort(length);
+ for (int i = 0; i < length; i++)
+ {
+ byte b = byteBuffer.get();
+ System.out.println("Payload: " + b);
+ out.writeByte(b);
+ }
buffer.release();
}
diff --git a/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/Net4jTransportServlet.java b/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/Net4jTransportServlet.java
index fba78a9..833bab4 100644
--- a/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/Net4jTransportServlet.java
+++ b/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/Net4jTransportServlet.java
@@ -199,7 +199,14 @@ public class Net4jTransportServlet extends HttpServlet implements INet4jTranspor
{
String connectorID = in.readString();
short channelIndex = in.readShort();
- byte[] data = in.readByteArray();
+ int length = in.readShort();
+ byte[] data = new byte[length];
+ for (int i = 0; i < length; i++)
+ {
+ data[i] = in.readByte();
+ }
+
+ // TODO Consider passing the stream!
requestHandler.handleSendBuffer(connectorID, channelIndex, data);
out.writeBoolean(true);
}
diff --git a/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/tests/HTTPTest.java b/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/tests/HTTPTest.java
index 283a644..eded166 100644
--- a/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/tests/HTTPTest.java
+++ b/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/tests/HTTPTest.java
@@ -42,9 +42,9 @@ public class HTTPTest extends AbstractTransportTest
IHTTPConnector connector = getHTTPConnector();
IChannel channel = connector.openChannel(TestSignalProtocol.PROTOCOL_NAME, null);
- IntRequest request = new IntRequest(channel, 4711);
+ IntRequest request = new IntRequest(channel, 305419896);
int result = request.send();
- assertEquals(4711, result);
+ assertEquals(305419896, result);
}
private IHTTPConnector getHTTPConnector()
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/buffer/Buffer.java b/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/buffer/Buffer.java
index 5732770..91a6746 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/buffer/Buffer.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/buffer/Buffer.java
@@ -30,8 +30,6 @@ import java.nio.channels.SocketChannel;
*/
public class Buffer implements IBuffer
{
- public static final short HEADER_SIZE = 4;
-
private static final int EOS_OFFSET = 1;
private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG_BUFFER, Buffer.class);
@@ -136,7 +134,7 @@ public class Buffer implements IBuffer
if (state == BufferState.INITIAL)
{
- byteBuffer.limit(Buffer.HEADER_SIZE);
+ byteBuffer.limit(IBuffer.HEADER_SIZE);
state = BufferState.READING_HEADER;
}
@@ -210,7 +208,7 @@ public class Buffer implements IBuffer
this.channelIndex = channelIndex;
byteBuffer.clear();
- byteBuffer.position(Buffer.HEADER_SIZE);
+ byteBuffer.position(IBuffer.HEADER_SIZE);
}
return byteBuffer;
@@ -233,7 +231,7 @@ public class Buffer implements IBuffer
throw new IllegalStateException("channelIndex == NO_CHANNEL"); //$NON-NLS-1$
}
- int payloadSize = byteBuffer.position() - Buffer.HEADER_SIZE + EOS_OFFSET;
+ int payloadSize = byteBuffer.position() - IBuffer.HEADER_SIZE + EOS_OFFSET;
if (eos)
{
payloadSize = -payloadSize;
@@ -275,7 +273,7 @@ public class Buffer implements IBuffer
}
byteBuffer.flip();
- byteBuffer.position(HEADER_SIZE);
+ byteBuffer.position(IBuffer.HEADER_SIZE);
state = BufferState.GETTING;
}
@@ -300,7 +298,7 @@ public class Buffer implements IBuffer
if (state == BufferState.PUTTING && !showHeader)
{
- byteBuffer.position(HEADER_SIZE);
+ byteBuffer.position(IBuffer.HEADER_SIZE);
}
StringBuilder builder = new StringBuilder();
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/IBuffer.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/IBuffer.java
index 60ecc20..eb6cc2a 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/IBuffer.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/IBuffer.java
@@ -34,7 +34,7 @@ import java.nio.channels.SocketChannel;
* This interface is <b>not</b> intended to be implemented by clients.
* <p>
* <dt><b>Class Diagram:</b></dt>
- * <dd> <img src="doc-files/Buffers.png" title="Diagram Buffers" border="0" usemap="#Buffers.png"/></dd>
+ * <dd><img src="doc-files/Buffers.png" title="Diagram Buffers" border="0" usemap="#Buffers.png"/></dd>
* <p>
* <MAP NAME="Buffers.png"> <AREA SHAPE="RECT" COORDS="303,12,403,72" HREF="IBufferHandler.html"> <AREA SHAPE="RECT"
* COORDS="533,199,619,249" HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/nio/ByteBuffer.html"> <AREA SHAPE="RECT"
@@ -52,43 +52,17 @@ import java.nio.channels.SocketChannel;
* <p>
* An example for <b>putting</b> values into a buffer and writing it to a {@link SocketChannel}:
* <p>
- *
- * <pre style="background-color:#ffffc8; border-width:1px; border-style:solid; padding:.5em;">
- * // Obtain a fresh buffer
- * Buffer buffer = bufferProvider.getBuffer();
- *
- * // Start filling the buffer for channelIndex 4711
- * ByteBuffer byteBuffer = buffer.startPutting(4711);
- * byteBuffer.putDouble(15.47);
- *
- * // Write the contents of the Buffer to a
- * // SocketChannel without blocking
- * while (!buffer.write(socketChannel))
- * {
- * // Do something else
- * }
- * </pre>
- *
- * An example for reading a buffer from a {@link SocketChannel} and <b>getting</b> values from it:
+ * <pre style="background-color:#ffffc8; border-width:1px; border-style:solid; padding:.5em;"> // Obtain a fresh buffer
+ * Buffer buffer = bufferProvider.getBuffer(); // Start filling the buffer for channelIndex 4711 ByteBuffer byteBuffer =
+ * buffer.startPutting(4711); byteBuffer.putDouble(15.47); // Write the contents of the Buffer to a // SocketChannel
+ * without blocking while (!buffer.write(socketChannel)) { // Do something else } </pre> An example for reading a buffer
+ * from a {@link SocketChannel} and <b>getting</b> values from it:
* <p>
- *
- * <pre style="background-color:#ffffc8; border-width:1px; border-style:solid; padding:.5em;">
- * // Obtain a fresh buffer
- * Buffer buffer = bufferProvider.getBuffer();
- *
- * // Read the contents of the Buffer from a
- * // SocketChannel without blocking
- * ByteBuffer byteBuffer;
- * while ((byteBuffer = buffer.startGetting(socketChannel)) == null)
- * {
- * // Do something else
- * }
- *
- * // Access the contents of the buffer and
- * // release it to its provider
- * double value = byteBuffer.getDouble();
- * buffer.release();
- * </pre>
+ * <pre style="background-color:#ffffc8; border-width:1px; border-style:solid; padding:.5em;"> // Obtain a fresh buffer
+ * Buffer buffer = bufferProvider.getBuffer(); // Read the contents of the Buffer from a // SocketChannel without
+ * blocking ByteBuffer byteBuffer; while ((byteBuffer = buffer.startGetting(socketChannel)) == null) { // Do something
+ * else } // Access the contents of the buffer and // release it to its provider double value = byteBuffer.getDouble();
+ * buffer.release(); </pre>
*
* @see IBufferProvider
* @see IChannel#sendBuffer(IBuffer)
@@ -105,6 +79,8 @@ public interface IBuffer
*/
public static final short NO_CHANNEL = Short.MIN_VALUE;
+ public static final short HEADER_SIZE = 4;
+
/**
* Returns the {@link IBufferProvider} that has provided this buffer and that this buffer will be returned to when its
* {@link #release()} method is called.
@@ -133,8 +109,8 @@ public interface IBuffer
* Tries to read a {@link ByteBuffer} from a {@link SocketChannel} that can be used for getting data.
* <p>
* This method is non-blocking and it can be necessary to repeatedly call it. If it was not possible to read a
- * complete header from the <code>SocketChannel</code> <code>null</code> is returned and the state of this buffer
- * is {@link BufferState#READING_HEADER READING_HEADER}. If it was not possible to read a complete body from the
+ * complete header from the <code>SocketChannel</code> <code>null</code> is returned and the state of this buffer is
+ * {@link BufferState#READING_HEADER READING_HEADER}. If it was not possible to read a complete body from the
* <code>SocketChannel</code> <code>null</code> is returned and the state of this buffer is
* {@link BufferState#READING_BODY READING_BODY}.
* <p>
@@ -157,7 +133,7 @@ public interface IBuffer
* <li> {@link ByteBuffer#getLong(int)}
* <li> {@link ByteBuffer#getShort()}
* <li> {@link ByteBuffer#getShort(int)}
- * <li> all other methods that do not influence {@link ByteBuffer#position()}, {@link ByteBuffer#limit()} and
+ * <li>all other methods that do not influence {@link ByteBuffer#position()}, {@link ByteBuffer#limit()} and
* {@link ByteBuffer#capacity()}
* </ul>
*
@@ -178,8 +154,8 @@ public interface IBuffer
* <p>
* Turns the {@link #getState() state} of this buffer into {@link BufferState#PUTTING PUTTING}.
* <p>
- * The returned <code>ByteBuffer</code> <b>may only</b> be used for putting data. It is left to the responsibility
- * of the caller that only the following methods of that <code>ByteBuffer</code> are used:
+ * The returned <code>ByteBuffer</code> <b>may only</b> be used for putting data. It is left to the responsibility of
+ * the caller that only the following methods of that <code>ByteBuffer</code> are used:
* <ul>
* <li> {@link ByteBuffer#put(byte)}
* <li> {@link ByteBuffer#put(byte[])}
@@ -198,17 +174,18 @@ public interface IBuffer
* <li> {@link ByteBuffer#putLong(int, long)}
* <li> {@link ByteBuffer#putShort(short)}
* <li> {@link ByteBuffer#putShort(int, short)}
- * <li> all other methods that do not influence {@link ByteBuffer#position()}, {@link ByteBuffer#limit()} and
+ * <li>all other methods that do not influence {@link ByteBuffer#position()}, {@link ByteBuffer#limit()} and
* {@link ByteBuffer#capacity()}
* </ul>
*
* @param channelIndex
- * The index of an {@link IChannel} that this buffer is intended to be passed to later or {@link #NO_CHANNEL}.
+ * The index of an {@link IChannel} that this buffer is intended to be passed to later or {@link #NO_CHANNEL}
+ * .
* @return A {@link ByteBuffer} that can be used for putting data.
* @throws IllegalStateException
- * If the state of this buffer is not {@link BufferState#INITIAL INITIAL} ({@link BufferState#PUTTING PUTTING}
- * is allowed but meaningless if and only if the given <code>channelIndex</code> is equal to the existing
- * <code>channelIndex</code> of this buffer).
+ * If the state of this buffer is not {@link BufferState#INITIAL INITIAL} ({@link BufferState#PUTTING
+ * PUTTING} is allowed but meaningless if and only if the given <code>channelIndex</code> is equal to the
+ * existing <code>channelIndex</code> of this buffer).
*/
public ByteBuffer startPutting(short channelIndex) throws IllegalStateException;
@@ -224,8 +201,8 @@ public interface IBuffer
* @return <code>true</code> if it was possible to completely write the data to the <code>SocketChannel</code>,
* <code>false</code> otherwise.
* @throws IllegalStateException
- * If the state of this buffer is not {@link BufferState#PUTTING PUTTING} or
- * {@link BufferState#WRITING WRITING}.
+ * If the state of this buffer is not {@link BufferState#PUTTING PUTTING} or {@link BufferState#WRITING
+ * WRITING}.
* @throws IOException
* If the <code>SocketChannel</code> has been closed or discovers other I/O problems.
*/
@@ -243,14 +220,13 @@ public interface IBuffer
* Returns the <code>ByteBuffer</code> that can be used for putting or getting data.
*
* @throws IllegalStateException
- * If the state of this buffer is not {@link BufferState#PUTTING PUTTING} or
- * {@link BufferState#GETTING GETTING}.
+ * If the state of this buffer is not {@link BufferState#PUTTING PUTTING} or {@link BufferState#GETTING
+ * GETTING}.
*/
public ByteBuffer getByteBuffer() throws IllegalStateException;
/**
- * Returns the <em>End Of Stream</em> flag to indicate whether this buffer is the last buffer in a stream of
- * buffers.
+ * Returns the <em>End Of Stream</em> flag to indicate whether this buffer is the last buffer in a stream of buffers.
*/
public boolean isEOS();