Home / Function/ createCloseHttp2SessionsByHttp2Server() — fastify Function Reference

createCloseHttp2SessionsByHttp2Server() — fastify Function Reference

Architecture documentation for the createCloseHttp2SessionsByHttp2Server() function in server.js from the fastify codebase.

Entity Profile

Dependency Diagram

graph TD
  998205a3_0747_9f3f_8d12_9cbdc444a8ac["createCloseHttp2SessionsByHttp2Server()"]
  39d7da74_a631_4522_4e09_0cc36c64a8f8["server.js"]
  998205a3_0747_9f3f_8d12_9cbdc444a8ac -->|defined in| 39d7da74_a631_4522_4e09_0cc36c64a8f8
  f8a56543_30d0_fd17_5f30_f1ddc20ab439["getServerInstance()"]
  f8a56543_30d0_fd17_5f30_f1ddc20ab439 -->|calls| 998205a3_0747_9f3f_8d12_9cbdc444a8ac
  style 998205a3_0747_9f3f_8d12_9cbdc444a8ac fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

lib/server.js lines 403–441

function createCloseHttp2SessionsByHttp2Server (http2Server) {
  /**
   * @type {Set<http2.Http2Session>}
   */
  http2Server[kHttp2ServerSessions] = new Set()

  http2Server.on('session', function (session) {
    session.once('connect', function () {
      http2Server[kHttp2ServerSessions].add(session)
    })

    session.once('close', function () {
      http2Server[kHttp2ServerSessions].delete(session)
    })

    session.once('frameError', function (type, code, streamId) {
      if (streamId === 0) {
        // The stream ID is 0, which means that the error is related to the session itself.
        // If the event is not associated with a stream, the Http2Session will be shut down immediately
        http2Server[kHttp2ServerSessions].delete(session)
      }
    })

    session.once('goaway', function () {
      // The Http2Session instance will be shut down automatically when the 'goaway' event is emitted.
      http2Server[kHttp2ServerSessions].delete(session)
    })
  })

  return function closeHttp2Sessions () {
    if (http2Server[kHttp2ServerSessions].size === 0) {
      return
    }

    for (const session of http2Server[kHttp2ServerSessions]) {
      session.close()
    }
  }
}

Domain

Subdomains

Defined In

Frequently Asked Questions

What does createCloseHttp2SessionsByHttp2Server() do?
createCloseHttp2SessionsByHttp2Server() is a function in the fastify codebase, defined in lib/server.js.
Where is createCloseHttp2SessionsByHttp2Server() defined?
createCloseHttp2SessionsByHttp2Server() is defined in lib/server.js at line 403.
What calls createCloseHttp2SessionsByHttp2Server()?
createCloseHttp2SessionsByHttp2Server() is called by 1 function(s): getServerInstance.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free