Class: Modal::ContainerProcessInputStream

Inherits:
Object
  • Object
show all
Defined in:
lib/modal/sandbox.rb

Instance Method Summary collapse

Constructor Details

#initialize(exec_id) ⇒ ContainerProcessInputStream

Returns a new instance of ContainerProcessInputStream.



256
257
258
259
# File 'lib/modal/sandbox.rb', line 256

def initialize(exec_id)
  @exec_id = exec_id
  @message_index = 1
end

Instance Method Details

#closeObject



273
274
275
276
277
278
279
280
281
282
# File 'lib/modal/sandbox.rb', line 273

def close
  request = Modal::Client::ContainerExecPutInputRequest.new(
    exec_id: @exec_id,
    input: Modal::Client::ContainerExecInput.new(
      message_index: @message_index,
      eof: true
    )
  )
  Modal.client.call(:container_exec_put_input, request)
end

#write(chunk) ⇒ Object



261
262
263
264
265
266
267
268
269
270
271
# File 'lib/modal/sandbox.rb', line 261

def write(chunk)
  request = Modal::Client::ContainerExecPutInputRequest.new(
    exec_id: @exec_id,
    input: Modal::Client::ContainerExecInput.new(
      message: chunk.bytes.pack("C*"), # Convert to bytes
      message_index: @message_index
    )
  )
  Modal.client.call(:container_exec_put_input, request)
  @message_index += 1
end