Comments (2)
SpdyConnection.writeSynReset(int, int)
and SpdyConnection.writeWindowUpdate(int, int)
are not problems because the class itself has synchronized
on the offending methods:
public synchronized void rstStream(int streamId, int statusCode) throws IOException { ... }
public synchronized void windowUpdate(int streamId, int deltaWindowSize) throws IOException { ... }
The close method is potentially worth synchronizing. But that would cause it to block waiting for the completion of any in-progress writes. The current behavior interrupts those writes which is what we want.
from okhttp.
These comments from SpdyConnection describe our concurrency policy. In future bug reports, please describe either a logic problem with these rules or a code violation of them!
// Internal state of this connection is guarded by 'this'. No blocking
// operations may be performed while holding this lock!
//
// Socket writes are guarded by spdyWriter.
//
// Socket reads are unguarded but are only made by the reader thread.
//
// Certain operations (like SYN_STREAM) need to synchronize on both the
// spdyWriter (to do blocking I/O) and this (to create streams). Such
// operations must synchronize on 'this' last. This ensures that we never
// wait for a blocking operation while holding 'this'.
from okhttp.
Related Issues (20)
- The request body data added in the NetworkInterceptor was found not included in the capture by Charles. HOT 1
- The request body data added in the NetworkInterceptor was found not included in the capture by Charles
- Gzip/Deflate/Bortli not workin okhttp3 4.12.0/5.0.0-alpha12 HOT 5
- DiskLruCache entry?.currentEditor is allways not null for async requests HOT 1
- Documentation: Clearly state that OkHttpClient should be a singleton HOT 6
- downloading big file midway Report an error java.net.ProtocolException: unexpected end of stream HOT 1
- Investigate Lock vs Synchronized performance HOT 4
- okhttp-coroutines in alpha 13 contains core classes HOT 1
- okhttp3.internal.http2.StreamResetException: stream was reset: CANCEL HOT 1
- HTTPS proxy support HOT 17
- Cannot instantiate MockWebServer on alpha 14: java.lang.NoClassDefFoundError: okhttp3/internal/_UtilJvmKt HOT 3
- Failing while building okhttp version parent-3.6.0 using mvn clean install HOT 1
- QUERY support
- No callbacks: no successful callbacks and no failed callbacks HOT 4
- TaskRunner's concurrent performance exhibits a significant decline in case of poor networks conditions HOT 12
- Calling response.body.string() on a MockWebServer response throws a SocketTimeoutException HOT 5
- java.net.SocketException: socket is closed HOT 11
- UTF-32LE and UTF-32BE BOM are incorrect
- Huffman : Fatal Exception: java.lang.NullPointerException HOT 3
- Delayed sending request HOT 13
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from okhttp.