src/share/jaxws_classes/com/sun/xml/internal/ws/api/pipe/Codec.java

Print this page

        

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this

@@ -54,19 +54,21 @@
  *
  * <p>
  * {@link Codec} does not produce transport-specific information, such as HTTP headers.
  *
  * <p>
- * {@link Codec} is a non-reentrant object, meaning no two threads
- * can concurrently invoke the decode method. This allows the implementation
- * to easily reuse parser objects (as instance variables), which are costly otherwise.
- *
+ * {@link Codec} implementations should be thread-safe; a codec instance could be used
+ * concurrently in multiple threads. If a codec have to generate or use a per-request
+ * state, the codec implementation must store the state in the Packet instead of using an
+ * instance variable of the codec implementation.
  *
  * <p>
  * {@link BindingID} determines the {@link Codec}. See {@link BindingID#createEncoder(WSBinding)}.
  *
  * @author Kohsuke Kawaguchi
+ * @author shih-chang.chen@oracle.com
+ *
  * @see EndpointAwareCodec
  */
 public interface Codec {
 
     /**