Class: ClaudeSDK::Internal::Transport Abstract

Inherits:
Object
  • Object
show all
Defined in:
lib/claude_sdk/internal/transport.rb

Overview

This class is abstract.

Subclass and override #connect, #disconnect, #send_request, #receive_messages, and #connected? to implement a transport

Abstract transport interface for Claude communication

Direct Known Subclasses

SubprocessCLI

Instance Method Summary collapse

Instance Method Details

#connectvoid

This method is abstract.

This method returns an undefined value.

Initialize connection

Raises:

  • (NotImplementedError)


14
15
16
# File 'lib/claude_sdk/internal/transport.rb', line 14

def connect
  raise NotImplementedError, "#{self.class}#connect not implemented"
end

#connected?Boolean

This method is abstract.

Check if transport is connected

Returns:

  • (Boolean)

    true if connected

Raises:

  • (NotImplementedError)


48
49
50
# File 'lib/claude_sdk/internal/transport.rb', line 48

def connected?
  raise NotImplementedError, "#{self.class}#connected? not implemented"
end

#disconnectvoid

This method is abstract.

This method returns an undefined value.

Close connection

Raises:

  • (NotImplementedError)


22
23
24
# File 'lib/claude_sdk/internal/transport.rb', line 22

def disconnect
  raise NotImplementedError, "#{self.class}#disconnect not implemented"
end

#receive_messagesEnumerator<Hash>

This method is abstract.

Receive messages from Claude

Returns:

  • (Enumerator<Hash>)

    yields message hashes

Raises:

  • (NotImplementedError)


40
41
42
# File 'lib/claude_sdk/internal/transport.rb', line 40

def receive_messages
  raise NotImplementedError, "#{self.class}#receive_messages not implemented"
end

#send_request(messages, options) ⇒ void

This method is abstract.

This method returns an undefined value.

Send request to Claude

Parameters:

  • messages (Array<Hash>)

    the messages to send

  • options (Hash)

    additional options

Raises:

  • (NotImplementedError)


32
33
34
# File 'lib/claude_sdk/internal/transport.rb', line 32

def send_request(messages, options)
  raise NotImplementedError, "#{self.class}#send_request not implemented"
end