()
| 884 | * should be sufficient) but it is implemented as precaution along with the WARN level logging. |
| 885 | */ |
| 886 | final void recycle() { |
| 887 | if (recycled) { |
| 888 | log.warn(sm.getString("stream.recycle.duplicate", getConnectionId(), getIdAsString())); |
| 889 | return; |
| 890 | } |
| 891 | synchronized (recycledLock) { |
| 892 | if (recycled) { |
| 893 | log.warn(sm.getString("stream.recycle.duplicate", getConnectionId(), getIdAsString())); |
| 894 | return; |
| 895 | } |
| 896 | recycled = true; |
| 897 | } |
| 898 | if (log.isTraceEnabled()) { |
| 899 | log.trace(sm.getString("stream.recycle.first", getConnectionId(), getIdAsString())); |
| 900 | } |
| 901 | coyoteRequest.recycle(); |
| 902 | coyoteResponse.recycle(); |
| 903 | handler.getProtocol().pushRequestAndResponse(coyoteRequest); |
| 904 | } |
| 905 | |
| 906 | |
| 907 | boolean isTrailerFieldsReady() { |
nothing calls this directly
no test coverage detected