Class: VectorMCP::Transport::SSE::PumaConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/vector_mcp/transport/sse/puma_config.rb

Overview

Configures Puma server for production-ready SSE transport. Handles server setup, threading, and resource management.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(host, port, logger) ⇒ PumaConfig

Initializes Puma configuration.

Parameters:

  • host (String)

    Host to bind to

  • port (Integer)

    Port to listen on

  • logger (Logger)

    Logger instance



16
17
18
19
20
# File 'lib/vector_mcp/transport/sse/puma_config.rb', line 16

def initialize(host, port, logger)
  @host = host
  @port = port
  @logger = logger
end

Instance Attribute Details

#hostObject (readonly)

Returns the value of attribute host.



9
10
11
# File 'lib/vector_mcp/transport/sse/puma_config.rb', line 9

def host
  @host
end

#loggerObject (readonly)

Returns the value of attribute logger.



9
10
11
# File 'lib/vector_mcp/transport/sse/puma_config.rb', line 9

def logger
  @logger
end

#portObject (readonly)

Returns the value of attribute port.



9
10
11
# File 'lib/vector_mcp/transport/sse/puma_config.rb', line 9

def port
  @port
end

Instance Method Details

#configure(server) ⇒ Object

Configures a Puma server instance.

Parameters:

  • server (Puma::Server)

    The Puma server to configure



25
26
27
28
29
30
31
32
33
34
35
# File 'lib/vector_mcp/transport/sse/puma_config.rb', line 25

def configure(server)
  server.add_tcp_listener(host, port)

  # Configure threading for production use
  configure_threading(server)

  # Set up server options
  configure_server_options(server)

  logger.debug { "Puma server configured for #{host}:#{port}" }
end