Class: Cosmos::CmdTlmServerConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_config.rb

Overview

Reads an ascii file that defines the configuration settings used to configure the Command/Telemetry Server.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(filename) ⇒ CmdTlmServerConfig

Create a default pair of packet log writers and parses the configuration file.

Parameters:

  • filename (String)

    The name of the configuration file to parse



42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_config.rb', line 42

def initialize(filename)
  @interfaces = {}
  @routers = {}
  @packet_log_writer_pairs = {}
  cmd_log_writer = System.default_packet_log_writer.new(:CMD)
  tlm_log_writer = System.default_packet_log_writer.new(:TLM)
  @packet_log_writer_pairs['DEFAULT'] = PacketLogWriterPair.new(cmd_log_writer, tlm_log_writer)
  @background_tasks = []
  @title = nil
  @meta_target_name = nil
  @meta_packet_name = nil
  process_file(filename)
end

Instance Attribute Details

#background_tasksArray<BackgroundTask>

Returns Array of background tasks.

Returns:



30
31
32
# File 'lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_config.rb', line 30

def background_tasks
  @background_tasks
end

#interfacesHash<String, Interface>

Returns Interfaces hash.

Returns:



23
24
25
# File 'lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_config.rb', line 23

def interfaces
  @interfaces
end

#meta_packet_nameString or nil

Returns Meta Packet Name.

Returns:

  • (String or nil)

    Meta Packet Name



36
37
38
# File 'lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_config.rb', line 36

def meta_packet_name
  @meta_packet_name
end

#meta_target_nameString or nil

Returns Meta Target Name.

Returns:

  • (String or nil)

    Meta Target Name



34
35
36
# File 'lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_config.rb', line 34

def meta_target_name
  @meta_target_name
end

#packet_log_writer_pairsHash<String, PacketLogWriterPair>

Returns Packet log writer hash. Each pair encapsulates a command and telemetry log writer.

Returns:



28
29
30
# File 'lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_config.rb', line 28

def packet_log_writer_pairs
  @packet_log_writer_pairs
end

#routersHash<String, Interface>

Returns Routers hash.

Returns:



25
26
27
# File 'lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_config.rb', line 25

def routers
  @routers
end

#titleString

Returns Command and Telemetry Server title.

Returns:

  • (String)

    Command and Telemetry Server title



32
33
34
# File 'lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_config.rb', line 32

def title
  @title
end