vanken 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +5 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +84 -0
  5. data/docs/filters.md +25 -0
  6. data/docs/performance.md +113 -0
  7. data/docs/releases.md +15 -0
  8. data/docs/upstream.md +32 -0
  9. data/exe/vanken +5 -0
  10. data/exe/vanken-capture +6 -0
  11. data/lib/vanken/app/capture_controller.rb +197 -0
  12. data/lib/vanken/app/document.rb +305 -0
  13. data/lib/vanken/app/document_jobs.rb +199 -0
  14. data/lib/vanken/capture/analyzer.rb +44 -0
  15. data/lib/vanken/capture/analyzer_process.rb +91 -0
  16. data/lib/vanken/capture/analyzer_wire.rb +42 -0
  17. data/lib/vanken/capture/analyzer_worker.rb +153 -0
  18. data/lib/vanken/capture/control_protocol.rb +32 -0
  19. data/lib/vanken/capture/filter_worker.rb +180 -0
  20. data/lib/vanken/capture/helper_main.rb +137 -0
  21. data/lib/vanken/capture/helper_options.rb +70 -0
  22. data/lib/vanken/capture/launcher.rb +181 -0
  23. data/lib/vanken/capture/privileges.rb +24 -0
  24. data/lib/vanken/capture/receiver.rb +39 -0
  25. data/lib/vanken/cli.rb +68 -0
  26. data/lib/vanken/config/log.rb +19 -0
  27. data/lib/vanken/config/preferences.rb +126 -0
  28. data/lib/vanken/core/display_filter/compiler.rb +108 -0
  29. data/lib/vanken/core/display_filter/errors.rb +19 -0
  30. data/lib/vanken/core/display_filter/field_resolver.rb +86 -0
  31. data/lib/vanken/core/display_filter/lexer.rb +124 -0
  32. data/lib/vanken/core/display_filter/parser.rb +157 -0
  33. data/lib/vanken/core/display_filter/types.rb +176 -0
  34. data/lib/vanken/core/frame.rb +33 -0
  35. data/lib/vanken/core/frame_store.rb +179 -0
  36. data/lib/vanken/core/frame_view.rb +68 -0
  37. data/lib/vanken/core/stores.rb +192 -0
  38. data/lib/vanken/errors.rb +9 -0
  39. data/lib/vanken/gateway/capture_filter.rb +30 -0
  40. data/lib/vanken/gateway/detail_builder.rb +63 -0
  41. data/lib/vanken/gateway/dissector.rb +176 -0
  42. data/lib/vanken/gateway/file_reader.rb +153 -0
  43. data/lib/vanken/gateway/file_writer.rb +64 -0
  44. data/lib/vanken/gateway/interfaces.rb +30 -0
  45. data/lib/vanken/gateway/live_capture.rb +79 -0
  46. data/lib/vanken/gateway/packet_snapshot.rb +89 -0
  47. data/lib/vanken/ui/actions.rb +50 -0
  48. data/lib/vanken/ui/application.rb +205 -0
  49. data/lib/vanken/ui/dialogs.rb +89 -0
  50. data/lib/vanken/ui/file_operations.rb +113 -0
  51. data/lib/vanken/ui/filter_operations.rb +120 -0
  52. data/lib/vanken/ui/main_view.rb +113 -0
  53. data/lib/vanken/ui/packet_source.rb +161 -0
  54. data/lib/vanken/ui/selection.rb +91 -0
  55. data/lib/vanken/version.rb +5 -0
  56. data/lib/vanken.rb +17 -0
  57. data/packaging/README.md +33 -0
  58. data/sig/generated/vanken/app/capture_controller.rbs +58 -0
  59. data/sig/generated/vanken/app/document.rbs +117 -0
  60. data/sig/generated/vanken/app/document_jobs.rbs +27 -0
  61. data/sig/generated/vanken/capture/analyzer.rbs +11 -0
  62. data/sig/generated/vanken/capture/analyzer_process.rbs +17 -0
  63. data/sig/generated/vanken/capture/analyzer_wire.rbs +19 -0
  64. data/sig/generated/vanken/capture/analyzer_worker.rbs +45 -0
  65. data/sig/generated/vanken/capture/control_protocol.rbs +17 -0
  66. data/sig/generated/vanken/capture/filter_worker.rbs +51 -0
  67. data/sig/generated/vanken/capture/helper_main.rbs +23 -0
  68. data/sig/generated/vanken/capture/helper_options.rbs +27 -0
  69. data/sig/generated/vanken/capture/launcher.rbs +60 -0
  70. data/sig/generated/vanken/capture/privileges.rbs +12 -0
  71. data/sig/generated/vanken/capture/receiver.rbs +15 -0
  72. data/sig/generated/vanken/cli.rbs +9 -0
  73. data/sig/generated/vanken/config/log.rbs +9 -0
  74. data/sig/generated/vanken/config/preferences.rbs +49 -0
  75. data/sig/generated/vanken/core/display_filter/compiler.rbs +45 -0
  76. data/sig/generated/vanken/core/display_filter/errors.rbs +16 -0
  77. data/sig/generated/vanken/core/display_filter/field_resolver.rbs +48 -0
  78. data/sig/generated/vanken/core/display_filter/lexer.rbs +49 -0
  79. data/sig/generated/vanken/core/display_filter/parser.rbs +95 -0
  80. data/sig/generated/vanken/core/display_filter/types.rbs +45 -0
  81. data/sig/generated/vanken/core/frame.rbs +63 -0
  82. data/sig/generated/vanken/core/frame_store.rbs +65 -0
  83. data/sig/generated/vanken/core/frame_view.rbs +36 -0
  84. data/sig/generated/vanken/core/stores.rbs +110 -0
  85. data/sig/generated/vanken/errors.rbs +18 -0
  86. data/sig/generated/vanken/gateway/capture_filter.rbs +17 -0
  87. data/sig/generated/vanken/gateway/detail_builder.rbs +21 -0
  88. data/sig/generated/vanken/gateway/dissector.rbs +113 -0
  89. data/sig/generated/vanken/gateway/file_reader.rbs +53 -0
  90. data/sig/generated/vanken/gateway/file_writer.rbs +27 -0
  91. data/sig/generated/vanken/gateway/interfaces.rbs +16 -0
  92. data/sig/generated/vanken/gateway/live_capture.rbs +48 -0
  93. data/sig/generated/vanken/gateway/packet_snapshot.rbs +48 -0
  94. data/sig/generated/vanken/ui/actions.rbs +9 -0
  95. data/sig/generated/vanken/ui/application.rbs +85 -0
  96. data/sig/generated/vanken/ui/dialogs.rbs +21 -0
  97. data/sig/generated/vanken/ui/file_operations.rbs +25 -0
  98. data/sig/generated/vanken/ui/filter_operations.rbs +33 -0
  99. data/sig/generated/vanken/ui/main_view.rbs +21 -0
  100. data/sig/generated/vanken/ui/packet_source.rbs +40 -0
  101. data/sig/generated/vanken/ui/selection.rbs +23 -0
  102. data/sig/generated/vanken/version.rbs +5 -0
  103. data/sig/vanken.rbs +25 -0
  104. metadata +192 -0
@@ -0,0 +1,113 @@
1
+ # Generated from lib/vanken/gateway/dissector.rb with RBS::Inline
2
+
3
+ module Vanken
4
+ module Gateway
5
+ PROTOCOLS: untyped
6
+
7
+ module Severity
8
+ # @rbs (Symbol? value) -> Symbol?
9
+ def self.normalize: (Symbol? value) -> Symbol?
10
+
11
+ # @rbs (Symbol? value) -> Integer
12
+ def self.rank: (Symbol? value) -> Integer
13
+ end
14
+
15
+ class Dissector
16
+ attr_reader registry: Redhound::Registry
17
+
18
+ # @rbs (?verify_checksums: bool, ?decode_as: Array[String], ?plugins: Array[String]) -> void
19
+ def initialize: (?verify_checksums: bool, ?decode_as: Array[String], ?plugins: Array[String]) -> void
20
+
21
+ # @rbs (Core::Frame frame) -> PacketView
22
+ def dissect: (Core::Frame frame) -> PacketView
23
+
24
+ # @rbs (Core::Frame frame, ?interfaces: Hash[Hash[String, untyped], Redhound::Capture::Interface]) -> Redhound::Packet
25
+ def self.packet: (Core::Frame frame, ?interfaces: Hash[Hash[String, untyped], Redhound::Capture::Interface]) -> Redhound::Packet
26
+ end
27
+
28
+ class PacketView
29
+ attr_reader raw_packet: Redhound::Packet
30
+
31
+ # @rbs (Redhound::Packet packet, Redhound::Registry registry) -> void
32
+ def initialize: (Redhound::Packet packet, Redhound::Registry registry) -> void
33
+
34
+ # @rbs (String name) -> Array[untyped]
35
+ def values: (String name) -> Array[untyped]
36
+
37
+ # @rbs (String name) -> bool
38
+ def layer?: (String name) -> bool
39
+
40
+ # @rbs () -> Array[Redhound::Field]
41
+ def fields: () -> Array[Redhound::Field]
42
+
43
+ # @rbs (String name) -> Symbol?
44
+ def field_type: (String name) -> Symbol?
45
+
46
+ # @rbs () -> Array[Redhound::Layer]
47
+ def layers: () -> Array[Redhound::Layer]
48
+
49
+ # @rbs () -> String
50
+ def bytes: () -> String
51
+
52
+ # @rbs () -> Hash[Symbol, untyped]
53
+ def to_h: () -> Hash[Symbol, untyped]
54
+
55
+ # @rbs () -> Array[Hash[Symbol, untyped]]
56
+ def diagnostics: () -> Array[Hash[Symbol, untyped]]
57
+
58
+ # @rbs () -> Core::column_values
59
+ def columns: () -> Core::column_values
60
+
61
+ # @rbs () -> String
62
+ def info: () -> String
63
+
64
+ # @rbs () -> Core::annotation_values
65
+ def annotations: () -> Core::annotation_values
66
+
67
+ # @rbs () -> bool
68
+ def reassembled?: () -> bool
69
+
70
+ # @rbs (Redhound::Layer layer) -> (:frame | :reassembled)
71
+ def layer_source: (Redhound::Layer layer) -> (:frame | :reassembled)
72
+
73
+ private
74
+
75
+ # @rbs (untyped value) -> String
76
+ def safe_text: (untyped value) -> String
77
+
78
+ # @rbs (Redhound::Layer? layer, Symbol direction) -> String
79
+ def address_text: (Redhound::Layer? layer, Symbol direction) -> String
80
+ end
81
+
82
+ class Analysis
83
+ # @rbs (?registry: Redhound::Registry, **untyped options) -> void
84
+ def initialize: (?registry: Redhound::Registry, **untyped options) -> void
85
+
86
+ # @rbs (PacketView packet) -> void
87
+ def update: (PacketView packet) -> void
88
+
89
+ # @rbs () -> void
90
+ def close: () -> void
91
+ end
92
+
93
+ class FieldCatalog
94
+ # @rbs () -> void
95
+ def initialize: () -> void
96
+
97
+ # @rbs () -> Array[String]
98
+ def names: () -> Array[String]
99
+
100
+ # @rbs (String name) -> Hash[Symbol, untyped]?
101
+ def lookup: (String name) -> Hash[Symbol, untyped]?
102
+
103
+ # @rbs (String name) -> bool
104
+ def protocol?: (String name) -> bool
105
+
106
+ # @rbs (PacketView packet) -> void
107
+ def observe: (PacketView packet) -> void
108
+
109
+ # @rbs (Hash[String, Hash[Symbol, untyped]] definitions) -> void
110
+ def merge: (Hash[String, Hash[Symbol, untyped]] definitions) -> void
111
+ end
112
+ end
113
+ end
@@ -0,0 +1,53 @@
1
+ # Generated from lib/vanken/gateway/file_reader.rb with RBS::Inline
2
+
3
+ module Vanken
4
+ module Gateway
5
+ class FileReader
6
+ include Enumerable[Core::Frame]
7
+
8
+ QUEUED_BYTE_LIMIT: Integer
9
+
10
+ class BufferedInput
11
+ # @rbs (IO input) -> void
12
+ def initialize: (IO input) -> void
13
+
14
+ # @rbs (Integer length) -> String?
15
+ def read: (Integer length) -> String?
16
+
17
+ # @rbs () -> void
18
+ def stop: () -> void
19
+ end
20
+
21
+ # @rbs (String | IO | StringIO input) -> void
22
+ def initialize: (String | IO | StringIO input) -> void
23
+
24
+ # @rbs (?timeout: Numeric?) -> Core::Frame?
25
+ def next_frame: (?timeout: Numeric?) -> Core::Frame?
26
+
27
+ # @rbs () { (Core::Frame) -> void } -> void
28
+ # @rbs () -> Enumerator[Core::Frame, void]
29
+ def each: () { (Core::Frame) -> void } -> void
30
+ | () -> Enumerator[Core::Frame, void]
31
+
32
+ # @rbs () -> bool
33
+ def eof?: () -> bool
34
+
35
+ # @rbs () -> void
36
+ def stop: () -> void
37
+
38
+ # @rbs () -> void
39
+ def close: () -> void
40
+
41
+ # @rbs () -> Redhound::Capture::Stats
42
+ def stats: () -> Redhound::Capture::Stats
43
+
44
+ private
45
+
46
+ # @rbs () -> void
47
+ def pump_packets: () -> void
48
+
49
+ # @rbs (Redhound::Packet packet) -> bool
50
+ def reserve_bytes: (Redhound::Packet packet) -> bool
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,27 @@
1
+ # Generated from lib/vanken/gateway/file_writer.rb with RBS::Inline
2
+
3
+ module Vanken
4
+ module Gateway
5
+ class FileWriter
6
+ # @rbs (String | IO output, **untyped options) -> FileWriter
7
+ # @rbs [T] (String | IO output, **untyped options) { (FileWriter) -> T } -> T
8
+ def self.open: (String | IO output, **untyped options) -> FileWriter
9
+ | [T] (String | IO output, **untyped options) { (FileWriter) -> T } -> T
10
+
11
+ # @rbs (String | IO output, ?format: Symbol | String, **untyped options) -> void
12
+ def initialize: (String | IO output, ?format: Symbol | String, **untyped options) -> void
13
+
14
+ # @rbs (Core::Frame | Redhound::Packet frame) -> self
15
+ def <<: (Core::Frame | Redhound::Packet frame) -> self
16
+
17
+ # @rbs () -> void
18
+ def flush: () -> void
19
+
20
+ # @rbs (Redhound::Capture::Stats | Hash[Symbol | String, Integer] stats, ?interface: Redhound::Capture::Interface?) -> void
21
+ def write_stats: (Redhound::Capture::Stats | Hash[Symbol | String, Integer] stats, ?interface: Redhound::Capture::Interface?) -> void
22
+
23
+ # @rbs () -> void
24
+ def close: () -> void
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,16 @@
1
+ # Generated from lib/vanken/gateway/interfaces.rb with RBS::Inline
2
+
3
+ module Vanken
4
+ module Gateway
5
+ module Interfaces
6
+ class NotFound < StandardError
7
+ end
8
+
9
+ # @rbs () -> Array[Hash[Symbol, untyped]]
10
+ def self.list: () -> Array[Hash[Symbol, untyped]]
11
+
12
+ # @rbs (String name) -> Hash[Symbol, untyped]
13
+ def self.find: (String name) -> Hash[Symbol, untyped]
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,48 @@
1
+ # Generated from lib/vanken/gateway/live_capture.rb with RBS::Inline
2
+
3
+ module Vanken
4
+ module Gateway
5
+ class LiveCapture
6
+ class Error < StandardError
7
+ attr_reader code: String
8
+
9
+ attr_reader exit_code: Integer
10
+
11
+ # @rbs (String message, code: String, ?exit_code: Integer) -> void
12
+ def initialize: (String message, code: String, ?exit_code: Integer) -> void
13
+ end
14
+
15
+ attr_reader backend: Symbol
16
+
17
+ # @rbs (interface: String, ?backend: Symbol | String, ?snaplen: Integer, ?promiscuous: bool, ?buffer_size: Integer?, ?direction: Symbol, ?filter: String?) -> LiveCapture
18
+ def self.open: (interface: String, ?backend: Symbol | String, ?snaplen: Integer, ?promiscuous: bool, ?buffer_size: Integer?, ?direction: Symbol, ?filter: String?) -> LiveCapture
19
+
20
+ # @rbs (Redhound::Capture::Source source) -> void
21
+ def initialize: (Redhound::Capture::Source source) -> void
22
+
23
+ # @rbs (?timeout: Numeric?) -> Redhound::Packet?
24
+ def next_packet: (?timeout: Numeric?) -> Redhound::Packet?
25
+
26
+ # @rbs () -> bool
27
+ def stopped?: () -> bool
28
+
29
+ # @rbs () -> Hash[Symbol, Integer]
30
+ def stats: () -> Hash[Symbol, Integer]
31
+
32
+ # @rbs () -> Integer
33
+ def linktype: () -> Integer
34
+
35
+ # @rbs () -> Array[Hash[Symbol, untyped]]
36
+ def interfaces: () -> Array[Hash[Symbol, untyped]]
37
+
38
+ # @rbs () -> void
39
+ def stop: () -> void
40
+
41
+ # @rbs () -> void
42
+ def close: () -> void
43
+
44
+ # @rbs () -> String
45
+ def self.version: () -> String
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,48 @@
1
+ # Generated from lib/vanken/gateway/packet_snapshot.rb with RBS::Inline
2
+
3
+ module Vanken
4
+ module Gateway
5
+ module FieldValues
6
+ ALIASES: untyped
7
+
8
+ TCP_FLAGS: untyped
9
+
10
+ # @rbs (String name) { (String) -> Array[untyped] } -> Array[untyped]
11
+ def self.read: (String name) { (String) -> Array[untyped] } -> Array[untyped]
12
+ end
13
+
14
+ # A field-only copy of stateful dissection, with an explicit binary JSON representation.
15
+ class PacketSnapshot
16
+ attr_reader columns: Core::column_values
17
+
18
+ attr_reader annotations: Core::annotation_values
19
+
20
+ # @rbs (fields: Hash[String, Array[untyped]], types: Hash[String, Symbol], layers: Array[String], columns: Core::column_values, annotations: Core::annotation_values) -> void
21
+ def initialize: (fields: Hash[String, Array[untyped]], types: Hash[String, Symbol], layers: Array[String], columns: Core::column_values, annotations: Core::annotation_values) -> void
22
+
23
+ # @rbs (PacketView packet) -> PacketSnapshot
24
+ def self.from_packet: (PacketView packet) -> PacketSnapshot
25
+
26
+ # @rbs (Hash[String, untyped] value) -> PacketSnapshot
27
+ def self.from_h: (Hash[String, untyped] value) -> PacketSnapshot
28
+
29
+ # @rbs () -> Hash[String, untyped]
30
+ def to_h: () -> Hash[String, untyped]
31
+
32
+ # @rbs (String name) -> Array[untyped]
33
+ def values: (String name) -> Array[untyped]
34
+
35
+ # @rbs (String name) -> Symbol?
36
+ def field_type: (String name) -> Symbol?
37
+
38
+ # @rbs (String name) -> bool
39
+ def layer?: (String name) -> bool
40
+
41
+ # @rbs (untyped value) -> untyped
42
+ def self.encode: (untyped value) -> untyped
43
+
44
+ # @rbs (untyped value) -> untyped
45
+ def self.decode: (untyped value) -> untyped
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,9 @@
1
+ # Generated from lib/vanken/ui/actions.rb with RBS::Inline
2
+
3
+ module Vanken
4
+ module UI
5
+ module Actions
6
+ def self.install: (untyped ui) -> untyped
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,85 @@
1
+ # Generated from lib/vanken/ui/application.rb with RBS::Inline
2
+
3
+ module Vanken
4
+ module UI
5
+ class Application
6
+ attr_reader app: untyped
7
+
8
+ attr_reader window: untyped
9
+
10
+ attr_reader preferences: untyped
11
+
12
+ attr_reader table: untyped
13
+
14
+ attr_reader tree: untyped
15
+
16
+ attr_reader hex: untyped
17
+
18
+ attr_reader filter_field: untyped
19
+
20
+ attr_reader capture: untyped
21
+
22
+ attr_reader dialog_kind: untyped
23
+
24
+ attr_reader packet_source: untyped
25
+
26
+ attr_reader interface_infos: untyped
27
+
28
+ def initialize: (?backend: untyped, ?preferences: untyped, ?debug: untyped) -> untyped
29
+
30
+ def document: () -> untyped
31
+
32
+ def selected_number: () -> untyped
33
+
34
+ def selected_node: () -> untyped
35
+
36
+ def detail_nodes: () -> untyped
37
+
38
+ def selected_bytes: () -> untyped
39
+
40
+ def update: () -> untyped
41
+
42
+ def changed: () -> untyped
43
+
44
+ def attach_document: (untyped value) -> untyped
45
+
46
+ def run: () -> untyped
47
+
48
+ def native?: () -> untyped
49
+
50
+ def monospace_font: () -> untyped
51
+
52
+ def install_panes: (untyped table, untyped tree, untyped hex) -> untyped
53
+
54
+ def filter_pool: () -> untyped
55
+
56
+ def smoke: () -> untyped
57
+
58
+ def close: () -> untyped
59
+
60
+ def quit: () -> untyped
61
+
62
+ def change_theme: (untyped name, ?persist: untyped) -> untyped
63
+
64
+ def zoom: (?untyped delta) -> untyped
65
+
66
+ def time_format: (untyped name) -> untyped
67
+
68
+ def toggle_autoscroll: () -> untyped
69
+
70
+ def autoscroll?: () -> untyped
71
+
72
+ def capture_toggle: () -> untyped
73
+
74
+ def start_capture: (untyped options) -> untyped
75
+
76
+ def restart_capture: () -> untyped
77
+
78
+ def status_text: () -> untyped
79
+
80
+ def copy_text: (untyped text) -> untyped
81
+
82
+ def show_error: (untyped error) -> untyped
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,21 @@
1
+ # Generated from lib/vanken/ui/dialogs.rb with RBS::Inline
2
+
3
+ module Vanken
4
+ module UI
5
+ module Dialogs
6
+ def dialog: () -> untyped
7
+
8
+ def dismiss_dialog: () -> untyped
9
+
10
+ def show_dialog: (untyped kind, untyped title, untyped content) -> untyped
11
+
12
+ def path_dialog: (untyped title) ?{ (?) -> untyped } -> untyped
13
+
14
+ def capture_options: (?interface: untyped) -> untyped
15
+
16
+ def preferences_dialog: () -> untyped
17
+
18
+ def columns_dialog: () -> untyped
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,25 @@
1
+ # Generated from lib/vanken/ui/file_operations.rb with RBS::Inline
2
+
3
+ module Vanken
4
+ module UI
5
+ module FileOperations
6
+ CAPTURE_FILTERS: untyped
7
+
8
+ def open_dialog: () -> untyped
9
+
10
+ def open_file: (untyped path) -> untyped
11
+
12
+ def save_dialog: (?after: untyped) -> untyped
13
+
14
+ def save_file: (untyped path, ?after: untyped) -> untyped
15
+
16
+ def close_document: () -> untyped
17
+
18
+ def reload_file: () -> untyped
19
+
20
+ def request_destructive: () ?{ (?) -> untyped } -> untyped
21
+
22
+ def discard_changes: () -> untyped
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,33 @@
1
+ # Generated from lib/vanken/ui/filter_operations.rb with RBS::Inline
2
+
3
+ module Vanken
4
+ module UI
5
+ class CompletionProvider
6
+ def initialize: (untyped ui) -> untyped
7
+
8
+ def complete: (untyped text, untyped caret) -> untyped
9
+ end
10
+
11
+ module FilterOperations
12
+ def set_filter: (untyped text) -> untyped
13
+
14
+ def validate_filter: (untyped text) -> untyped
15
+
16
+ def apply_filter: () -> untyped
17
+
18
+ def initial_filter: (untyped text) -> untyped
19
+
20
+ def clear_filter: () -> untyped
21
+
22
+ def filter_from_selection: (?untyped mode, ?prepare: untyped) -> untyped
23
+
24
+ def filter_from_expression: (untyped expression, ?untyped mode, ?prepare: untyped) -> untyped
25
+
26
+ def selection_menu: (untyped expression) -> untyped
27
+
28
+ def bookmark_filter: () -> untyped
29
+
30
+ def filter_history: () -> untyped
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,21 @@
1
+ # Generated from lib/vanken/ui/main_view.rb with RBS::Inline
2
+
3
+ module Vanken
4
+ module UI
5
+ class MainView < Zaniah::UI::Component
6
+ COLUMNS: untyped
7
+
8
+ def initialize: (untyped ui) -> untyped
9
+
10
+ def build: (untyped cx) -> untyped
11
+
12
+ private
13
+
14
+ def pane: (untyped title, untyped body) -> untyped
15
+
16
+ def button: (untyped label, untyped id, ?disabled: untyped) ?{ (?) -> untyped } -> untyped
17
+
18
+ def welcome: (untyped _cx) -> untyped
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,40 @@
1
+ # Generated from lib/vanken/ui/packet_source.rb with RBS::Inline
2
+
3
+ module Vanken
4
+ module UI
5
+ class PacketSource
6
+ def initialize: (untyped ui) -> untyped
7
+
8
+ def reset: () -> untyped
9
+
10
+ # Called by posted document notifications, never once per rendered cell.
11
+ def refresh: () ?{ (?) -> untyped } -> untyped
12
+
13
+ def count: () -> untyped
14
+
15
+ def packet_count: () -> untyped
16
+
17
+ def row_id: (untyped index) -> untyped
18
+
19
+ def index_of: (untyped id) -> untyped
20
+
21
+ def cell: (untyped index, untyped key) -> untyped
22
+
23
+ def value: (untyped index, untyped key) -> untyped
24
+
25
+ private
26
+
27
+ def publish_counts: (untyped count, untyped packet_count) -> untyped
28
+
29
+ def refresh_tail: (untyped count, untyped packet_count, untyped size, untyped ready) -> untyped
30
+
31
+ def request_row: (untyped number, untyped index) -> untyped
32
+
33
+ def flush_rows: () -> untyped
34
+
35
+ def row_values: (untyped document, untyped number, untyped index, untyped format, untyped precision, ?untyped previous) -> untyped
36
+
37
+ def format_time: (untyped document, untyped row, untyped number, untyped index, untyped format, untyped precision, ?untyped previous) -> untyped
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,23 @@
1
+ # Generated from lib/vanken/ui/selection.rb with RBS::Inline
2
+
3
+ module Vanken
4
+ module UI
5
+ module Selection
6
+ def select_packet: (untyped number) -> untyped
7
+
8
+ def select_detail: (untyped node) -> untyped
9
+
10
+ def select_bytes: (untyped range) -> untyped
11
+
12
+ def navigate: (untyped delta) -> untyped
13
+
14
+ def first_packet: () -> untyped
15
+
16
+ def last_packet: () -> untyped
17
+
18
+ def go_to_packet: () -> untyped
19
+
20
+ def copy_bytes: (?untyped format) -> untyped
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,5 @@
1
+ # Generated from lib/vanken/version.rb with RBS::Inline
2
+
3
+ module Vanken
4
+ VERSION: ::String
5
+ end
data/sig/vanken.rbs ADDED
@@ -0,0 +1,25 @@
1
+ module Vanken
2
+ module Core
3
+ type frame_metadata = {
4
+ offset: Integer, caplen: Integer, original_length: Integer, timestamp_ns: Integer,
5
+ linktype: Integer, interface: Hash[String, untyped]?, direction: (:in | :out)?, number: Integer
6
+ }
7
+ type column_values = {
8
+ source: String, destination: String, protocol: String,
9
+ src_port: Integer, dst_port: Integer, ip_proto: Integer, layers: Array[String],
10
+ ?transport_values: Hash[String, Array[Integer]]?
11
+ }
12
+ type annotation_values = {
13
+ tcp_stream: Integer, seq_rel: Integer, ack_rel: Integer, analysis_flags: Array[String],
14
+ expert_max: Integer, expert_items: Array[Hash[Symbol, untyped]], extra: Hash[String, untyped]
15
+ }
16
+ interface _FilterView
17
+ def values: (String) -> Array[untyped]
18
+ def layer?: (String) -> bool
19
+ end
20
+ module DisplayFilter
21
+ type field_type = :integer | :float | :boolean | :address | :mac | :bytes | :string | :severity
22
+ type prepared_member = [untyped, untyped]
23
+ end
24
+ end
25
+ end