Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 40 for locks (0.12 sec)

  1. okhttp/src/main/kotlin/okhttp3/internal/connection/Locks.kt

    import okhttp3.internal.http2.Http2Stream
    import okhttp3.internal.http2.Http2Writer
    
    /**
     * Centralisation of central locks according to docs/contribute/concurrency.md
     */
    internal object Locks {
      inline fun <T> Dispatcher.withLock(action: () -> T): T {
        contract { callsInPlace(action, InvocationKind.EXACTLY_ONCE) }
        return lock.withLock(action)
      }
    
      inline fun <T> RealConnection.withLock(action: () -> T): T {
    Plain Text
    - Registered: Fri May 03 11:42:14 GMT 2024
    - Last Modified: Sat Apr 20 17:03:43 GMT 2024
    - 2.1K bytes
    - Viewed (0)
  2. okhttp/src/main/kotlin/okhttp3/internal/connection/RealConnection.kt

    ) : Http2Connection.Listener(), Connection, ExchangeCodec.Carrier {
      private var http2Connection: Http2Connection? = null
    
      internal val lock: ReentrantLock = ReentrantLock()
    
      // These properties are guarded by [lock].
    
      /**
       * If true, no new exchanges can be created on this connection. It is necessary to set this to
    Plain Text
    - Registered: Fri May 03 11:42:14 GMT 2024
    - Last Modified: Sat Apr 20 17:03:43 GMT 2024
    - 15.4K bytes
    - Viewed (0)
  3. okhttp/src/main/kotlin/okhttp3/internal/connection/RealCall.kt

       * additional context. Otherwise [e] is returned as-is.
       */
      private fun <E : IOException?> callDone(e: E): E {
        lock.assertNotHeld()
    
        val connection = this.connection
        if (connection != null) {
          connection.lock.assertNotHeld()
          val toClose: Socket? =
            connection.withLock {
              // Sets this.connection to null.
              releaseConnectionNoEvents()
    Plain Text
    - Registered: Fri May 03 11:42:14 GMT 2024
    - Last Modified: Sat Apr 20 17:03:43 GMT 2024
    - 17.9K bytes
    - Viewed (2)
  4. docs/contribute/concurrency.md

    ### Locks
    
    We have 3 different things that we synchronize on.
    
    #### Http2Connection
    
    This lock guards internal state of each connection. This lock is never held for blocking operations. That means that we acquire the lock, read or write a few fields and release the lock. No I/O and no application-layer callbacks.
    
    #### Http2Stream
    
    Plain Text
    - Registered: Fri May 03 11:42:14 GMT 2024
    - Last Modified: Sun Feb 06 16:35:36 GMT 2022
    - 7K bytes
    - Viewed (0)
  5. okhttp/src/main/kotlin/okhttp3/internal/http2/Http2Stream.kt

    import java.net.SocketTimeoutException
    import java.util.ArrayDeque
    import java.util.concurrent.locks.Condition
    import java.util.concurrent.locks.ReentrantLock
    import okhttp3.Headers
    import okhttp3.internal.EMPTY_HEADERS
    import okhttp3.internal.assertNotHeld
    import okhttp3.internal.connection.Locks.withLock
    import okhttp3.internal.http2.flowcontrol.WindowCounter
    import okhttp3.internal.toHeaderList
    Plain Text
    - Registered: Fri May 03 11:42:14 GMT 2024
    - Last Modified: Sat Apr 20 17:03:43 GMT 2024
    - 23.2K bytes
    - Viewed (1)
  6. okhttp/src/main/kotlin/okhttp3/internal/concurrent/TaskRunner.kt

    import java.util.concurrent.SynchronousQueue
    import java.util.concurrent.ThreadFactory
    import java.util.concurrent.ThreadPoolExecutor
    import java.util.concurrent.TimeUnit
    import java.util.concurrent.locks.Condition
    import java.util.concurrent.locks.ReentrantLock
    import java.util.logging.Logger
    import kotlin.concurrent.withLock
    import okhttp3.internal.addIfAbsent
    import okhttp3.internal.assertHeld
    Plain Text
    - Registered: Fri May 03 11:42:14 GMT 2024
    - Last Modified: Mon Apr 29 00:33:04 GMT 2024
    - 10.6K bytes
    - Viewed (0)
  7. okhttp/src/main/kotlin/okhttp3/internal/http2/Http2Writer.kt

     * limitations under the License.
     */
    package okhttp3.internal.http2
    
    import java.io.Closeable
    import java.io.IOException
    import java.util.concurrent.locks.ReentrantLock
    import java.util.logging.Level.FINE
    import java.util.logging.Logger
    import okhttp3.internal.connection.Locks.withLock
    import okhttp3.internal.format
    import okhttp3.internal.http2.Http2.CONNECTION_PREFACE
    import okhttp3.internal.http2.Http2.FLAG_ACK
    Plain Text
    - Registered: Fri May 03 11:42:14 GMT 2024
    - Last Modified: Sat Apr 20 17:03:43 GMT 2024
    - 11.3K bytes
    - Viewed (0)
  8. okhttp/src/main/kotlin/okhttp3/Dispatcher.kt

    import java.util.concurrent.SynchronousQueue
    import java.util.concurrent.ThreadPoolExecutor
    import java.util.concurrent.TimeUnit
    import java.util.concurrent.locks.ReentrantLock
    import okhttp3.internal.assertNotHeld
    import okhttp3.internal.connection.Locks.withLock
    import okhttp3.internal.connection.RealCall
    import okhttp3.internal.connection.RealCall.AsyncCall
    import okhttp3.internal.okHttpName
    import okhttp3.internal.threadFactory
    Plain Text
    - Registered: Fri May 03 11:42:14 GMT 2024
    - Last Modified: Sat Apr 20 17:03:43 GMT 2024
    - 9K bytes
    - Viewed (0)
  9. okhttp/src/main/kotlin/okhttp3/internal/concurrent/TaskQueue.kt

       * be removed from the execution schedule.
       */
      fun cancelAll() {
        lock.assertNotHeld()
    
        taskRunner.lock.withLock {
          if (cancelAllAndDecide()) {
            taskRunner.kickCoordinator(this)
          }
        }
      }
    
      fun shutdown() {
        lock.assertNotHeld()
    
        taskRunner.lock.withLock {
          shutdown = true
          if (cancelAllAndDecide()) {
    Plain Text
    - Registered: Fri May 03 11:42:14 GMT 2024
    - Last Modified: Mon Jan 08 01:13:22 GMT 2024
    - 7.5K bytes
    - Viewed (0)
  10. okhttp-testing-support/src/main/kotlin/okhttp3/TestValueFactory.kt

    import okhttp3.internal.concurrent.TaskRunner
    import okhttp3.internal.connection.CallConnectionUser
    import okhttp3.internal.connection.FastFallbackExchangeFinder
    import okhttp3.internal.connection.Locks.withLock
    import okhttp3.internal.connection.RealCall
    import okhttp3.internal.connection.RealConnection
    import okhttp3.internal.connection.RealConnectionPool
    import okhttp3.internal.connection.RealRoutePlanner
    Plain Text
    - Registered: Fri May 03 11:42:14 GMT 2024
    - Last Modified: Sat Apr 20 17:03:43 GMT 2024
    - 7.7K bytes
    - Viewed (0)
Back to top