openc3 5.13.0 → 5.14.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of openc3 might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile +3 -3
- data/bin/openc3cli +18 -15
- data/data/config/command_modifiers.yaml +53 -1
- data/lib/openc3/accessors/accessor.rb +42 -29
- data/lib/openc3/accessors/binary_accessor.rb +11 -1
- data/lib/openc3/accessors/form_accessor.rb +11 -1
- data/lib/openc3/accessors/http_accessor.rb +38 -0
- data/lib/openc3/accessors/json_accessor.rb +15 -3
- data/lib/openc3/accessors/template_accessor.rb +150 -0
- data/lib/openc3/accessors/xml_accessor.rb +11 -1
- data/lib/openc3/accessors.rb +1 -0
- data/lib/openc3/api/limits_api.rb +3 -3
- data/lib/openc3/api/tlm_api.rb +8 -8
- data/lib/openc3/interfaces/interface.rb +9 -7
- data/lib/openc3/interfaces/protocols/cmd_response_protocol.rb +116 -0
- data/lib/openc3/interfaces/tcpip_client_interface.rb +4 -0
- data/lib/openc3/interfaces/tcpip_server_interface.rb +5 -0
- data/lib/openc3/interfaces.rb +1 -1
- data/lib/openc3/microservices/decom_microservice.rb +5 -2
- data/lib/openc3/microservices/interface_microservice.rb +10 -1
- data/lib/openc3/microservices/log_microservice.rb +6 -1
- data/lib/openc3/microservices/microservice.rb +28 -0
- data/lib/openc3/models/cvt_model.rb +16 -12
- data/lib/openc3/models/gem_model.rb +20 -3
- data/lib/openc3/models/microservice_model.rb +6 -2
- data/lib/openc3/models/plugin_model.rb +6 -2
- data/lib/openc3/models/target_model.rb +105 -12
- data/lib/openc3/operators/microservice_operator.rb +23 -21
- data/lib/openc3/packets/commands.rb +4 -0
- data/lib/openc3/packets/packet.rb +92 -4
- data/lib/openc3/packets/packet_config.rb +62 -8
- data/lib/openc3/packets/telemetry.rb +4 -0
- data/lib/openc3/script/api_shared.rb +11 -0
- data/lib/openc3/script/script.rb +6 -12
- data/lib/openc3/streams/tcpip_socket_stream.rb +19 -0
- data/lib/openc3/system/system.rb +43 -1
- data/lib/openc3/utilities/cli_generator.rb +15 -1
- data/lib/openc3/utilities/local_mode.rb +1 -1
- data/lib/openc3/utilities/store_queued.rb +126 -0
- data/lib/openc3/version.rb +6 -6
- data/templates/plugin/plugin.gemspec +2 -2
- data/templates/target/targets/TARGET/public/README.txt +1 -0
- data/templates/tool_angular/package.json +15 -15
- data/templates/tool_angular/yarn.lock +184 -78
- data/templates/tool_react/package.json +10 -10
- data/templates/tool_react/yarn.lock +236 -374
- data/templates/tool_svelte/package.json +13 -13
- data/templates/tool_svelte/yarn.lock +246 -235
- data/templates/tool_vue/package.json +12 -12
- data/templates/tool_vue/yarn.lock +63 -55
- data/templates/widget/package.json +11 -11
- data/templates/widget/yarn.lock +54 -46
- metadata +144 -154
- data/lib/openc3/io/openc3_snmp.rb +0 -61
@@ -1,61 +0,0 @@
|
|
1
|
-
# encoding: ascii-8bit
|
2
|
-
|
3
|
-
# Copyright 2022 Ball Aerospace & Technologies Corp.
|
4
|
-
# All Rights Reserved.
|
5
|
-
#
|
6
|
-
# This program is free software; you can modify and/or redistribute it
|
7
|
-
# under the terms of the GNU Affero General Public License
|
8
|
-
# as published by the Free Software Foundation; version 3 with
|
9
|
-
# attribution addendums as found in the LICENSE.txt
|
10
|
-
#
|
11
|
-
# This program is distributed in the hope that it will be useful,
|
12
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
-
# GNU Affero General Public License for more details.
|
15
|
-
|
16
|
-
# Modified by OpenC3, Inc.
|
17
|
-
# All changes Copyright 2022, OpenC3, Inc.
|
18
|
-
# All Rights Reserved
|
19
|
-
#
|
20
|
-
# This file may also be used under the terms of a commercial license
|
21
|
-
# if purchased from OpenC3, Inc.
|
22
|
-
|
23
|
-
# This file updates the Ruby SNMP gem for non-blocking sockets
|
24
|
-
# to work around potential process lockups.
|
25
|
-
#
|
26
|
-
# Known to work with SNMP Version 1.0.2
|
27
|
-
|
28
|
-
# Note requires SNMP Ruby Gem - gem install snmp
|
29
|
-
require 'snmp'
|
30
|
-
|
31
|
-
old_verbose = $VERBOSE; $VERBOSE = nil
|
32
|
-
module SNMP
|
33
|
-
class UDPTransport
|
34
|
-
def recv(max_bytes)
|
35
|
-
# Implement blocking using recvfrom_nonblock to prevent potential
|
36
|
-
# ruby thread deadlock
|
37
|
-
|
38
|
-
data, host_info = @socket.recvfrom_nonblock(max_bytes)
|
39
|
-
return data
|
40
|
-
rescue Errno::EAGAIN, Errno::EWOULDBLOCK
|
41
|
-
IO.fast_select([@socket])
|
42
|
-
retry
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
class UDPServerTransport
|
47
|
-
def recvfrom(max_bytes)
|
48
|
-
# Implement blocking using recvfrom_nonblock to prevent potential
|
49
|
-
# ruby thread deadlock
|
50
|
-
begin
|
51
|
-
data, host_info = @socket.recvfrom_nonblock(max_bytes)
|
52
|
-
rescue Errno::EAGAIN, Errno::EWOULDBLOCK
|
53
|
-
IO.fast_select([@socket])
|
54
|
-
retry
|
55
|
-
end
|
56
|
-
flags, host_port, host_name, host_ip = host_info
|
57
|
-
return data, host_ip, host_port
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
61
|
-
$VERBOSE = old_verbose
|