maxcube-client 0.5.0 → 0.5.1

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 (95) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -0
  3. data/data/save/20180214-2023/recv.data +12 -0
  4. data/data/save/20180214-2023/recv.yaml +152 -0
  5. data/data/save/20180214-2023/sent.data +10 -0
  6. data/data/save/20180214-2023/sent.yaml +26 -0
  7. data/data/save/20180214-2230/recv.data +2 -0
  8. data/data/save/20180214-2230/recv.yaml +68 -0
  9. data/data/save/20180214-2230/sent.data +1 -0
  10. data/data/save/20180214-2230/sent.yaml +19 -0
  11. data/data/save/20180215-0057/recv.data +3 -0
  12. data/data/save/20180215-0057/recv.yaml +69 -0
  13. data/data/save/20180215-0057/sent.data +2 -0
  14. data/data/save/20180215-0057/sent.yaml +22 -0
  15. data/data/save/20180216-1641/recv.data +4 -0
  16. data/data/save/20180216-1641/recv.yaml +133 -0
  17. data/data/save/20180216-1641/sent.data +2 -0
  18. data/data/save/20180216-1641/sent.yaml +3 -0
  19. data/lib/maxcube/version.rb +1 -1
  20. data/maxcube-client.gemspec +5 -6
  21. data/spec/msg_spec.rb +2117 -0
  22. data/spec/spec_helper.rb +7 -0
  23. metadata +21 -75
  24. data/.gitignore +0 -6
  25. data/.rubocop.yml +0 -29
  26. data/.yardopts +0 -1
  27. data/Gemfile +0 -5
  28. data/bin/console +0 -8
  29. data/bin/maxcube-client +0 -6
  30. data/bin/sample_server +0 -13
  31. data/bin/sample_socket +0 -13
  32. data/bin/setup +0 -6
  33. data/doc/MaxCube.html +0 -502
  34. data/doc/MaxCube/Messages.html +0 -1927
  35. data/doc/MaxCube/Messages/Handler.html +0 -2912
  36. data/doc/MaxCube/Messages/InvalidMessage.html +0 -140
  37. data/doc/MaxCube/Messages/InvalidMessageBody.html +0 -264
  38. data/doc/MaxCube/Messages/InvalidMessageFormat.html +0 -247
  39. data/doc/MaxCube/Messages/InvalidMessageLength.html +0 -247
  40. data/doc/MaxCube/Messages/InvalidMessageType.html +0 -263
  41. data/doc/MaxCube/Messages/Parser.html +0 -520
  42. data/doc/MaxCube/Messages/Serializer.html +0 -701
  43. data/doc/MaxCube/Messages/TCP.html +0 -172
  44. data/doc/MaxCube/Messages/TCP/Handler.html +0 -1396
  45. data/doc/MaxCube/Messages/TCP/Parser.html +0 -462
  46. data/doc/MaxCube/Messages/TCP/Parser/MessageA.html +0 -186
  47. data/doc/MaxCube/Messages/TCP/Parser/MessageC.html +0 -1077
  48. data/doc/MaxCube/Messages/TCP/Parser/MessageF.html +0 -206
  49. data/doc/MaxCube/Messages/TCP/Parser/MessageH.html +0 -338
  50. data/doc/MaxCube/Messages/TCP/Parser/MessageL.html +0 -535
  51. data/doc/MaxCube/Messages/TCP/Parser/MessageM.html +0 -510
  52. data/doc/MaxCube/Messages/TCP/Parser/MessageN.html +0 -226
  53. data/doc/MaxCube/Messages/TCP/Parser/MessageS.html +0 -225
  54. data/doc/MaxCube/Messages/TCP/Serializer.html +0 -460
  55. data/doc/MaxCube/Messages/TCP/Serializer/MessageA.html +0 -186
  56. data/doc/MaxCube/Messages/TCP/Serializer/MessageC.html +0 -185
  57. data/doc/MaxCube/Messages/TCP/Serializer/MessageF.html +0 -206
  58. data/doc/MaxCube/Messages/TCP/Serializer/MessageL.html +0 -185
  59. data/doc/MaxCube/Messages/TCP/Serializer/MessageM.html +0 -428
  60. data/doc/MaxCube/Messages/TCP/Serializer/MessageN.html +0 -209
  61. data/doc/MaxCube/Messages/TCP/Serializer/MessageQ.html +0 -185
  62. data/doc/MaxCube/Messages/TCP/Serializer/MessageS.html +0 -1168
  63. data/doc/MaxCube/Messages/TCP/Serializer/MessageT.html +0 -240
  64. data/doc/MaxCube/Messages/TCP/Serializer/MessageU.html +0 -206
  65. data/doc/MaxCube/Messages/TCP/Serializer/MessageZ.html +0 -252
  66. data/doc/MaxCube/Messages/UDP.html +0 -164
  67. data/doc/MaxCube/Messages/UDP/Handler.html +0 -832
  68. data/doc/MaxCube/Messages/UDP/Parser.html +0 -609
  69. data/doc/MaxCube/Messages/UDP/Parser/MessageH.html +0 -218
  70. data/doc/MaxCube/Messages/UDP/Parser/MessageI.html +0 -215
  71. data/doc/MaxCube/Messages/UDP/Parser/MessageN.html +0 -226
  72. data/doc/MaxCube/Messages/UDP/Serializer.html +0 -484
  73. data/doc/MaxCube/Network.html +0 -167
  74. data/doc/MaxCube/Network/TCP.html +0 -150
  75. data/doc/MaxCube/Network/TCP/Client.html +0 -1930
  76. data/doc/MaxCube/Network/TCP/Client/Commands.html +0 -2457
  77. data/doc/MaxCube/Network/TCP/SampleServer.html +0 -910
  78. data/doc/MaxCube/Network/UDP.html +0 -150
  79. data/doc/MaxCube/Network/UDP/Client.html +0 -518
  80. data/doc/MaxCube/Network/UDP/SampleSocket.html +0 -628
  81. data/doc/MaxCube/Runner.html +0 -355
  82. data/doc/_index.html +0 -518
  83. data/doc/class_list.html +0 -51
  84. data/doc/css/common.css +0 -1
  85. data/doc/css/full_list.css +0 -58
  86. data/doc/css/style.css +0 -499
  87. data/doc/file.README.html +0 -140
  88. data/doc/file_list.html +0 -56
  89. data/doc/frames.html +0 -17
  90. data/doc/index.html +0 -140
  91. data/doc/js/app.js +0 -248
  92. data/doc/js/full_list.js +0 -216
  93. data/doc/js/jquery.js +0 -4
  94. data/doc/method_list.html +0 -1699
  95. data/doc/top-level-namespace.html +0 -110
@@ -1,172 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>
7
- Module: MaxCube::Messages::TCP
8
-
9
- &mdash; Documentation by YARD 0.9.12
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="../../css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="../../css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- pathId = "MaxCube::Messages::TCP";
19
- relpath = '../../';
20
- </script>
21
-
22
-
23
- <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
24
-
25
- <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
26
-
27
-
28
- </head>
29
- <body>
30
- <div class="nav_wrap">
31
- <iframe id="nav" src="../../class_list.html?1"></iframe>
32
- <div id="resizer"></div>
33
- </div>
34
-
35
- <div id="main" tabindex="-1">
36
- <div id="header">
37
- <div id="menu">
38
-
39
- <a href="../../_index.html">Index (T)</a> &raquo;
40
- <span class='title'><span class='object_link'><a href="../../MaxCube.html" title="MaxCube (module)">MaxCube</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Messages.html" title="MaxCube::Messages (module)">Messages</a></span></span>
41
- &raquo;
42
- <span class="title">TCP</span>
43
-
44
- </div>
45
-
46
- <div id="search">
47
-
48
- <a class="full_list_link" id="class_list_link"
49
- href="../../class_list.html">
50
-
51
- <svg width="24" height="24">
52
- <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
- <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
- <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
- </svg>
56
- </a>
57
-
58
- </div>
59
- <div class="clear"></div>
60
- </div>
61
-
62
- <div id="content"><h1>Module: MaxCube::Messages::TCP
63
-
64
-
65
-
66
- </h1>
67
- <div class="box_info">
68
-
69
-
70
-
71
-
72
-
73
-
74
-
75
-
76
-
77
-
78
-
79
- <dl>
80
- <dt>Defined in:</dt>
81
- <dd>lib/maxcube/messages/tcp.rb<span class="defines">,<br />
82
- lib/maxcube/messages/tcp/parser.rb,<br /> lib/maxcube/messages/tcp/type/a.rb,<br /> lib/maxcube/messages/tcp/type/c.rb,<br /> lib/maxcube/messages/tcp/type/f.rb,<br /> lib/maxcube/messages/tcp/type/h.rb,<br /> lib/maxcube/messages/tcp/type/l.rb,<br /> lib/maxcube/messages/tcp/type/m.rb,<br /> lib/maxcube/messages/tcp/type/n.rb,<br /> lib/maxcube/messages/tcp/type/q.rb,<br /> lib/maxcube/messages/tcp/type/s.rb,<br /> lib/maxcube/messages/tcp/type/t.rb,<br /> lib/maxcube/messages/tcp/type/u.rb,<br /> lib/maxcube/messages/tcp/type/z.rb,<br /> lib/maxcube/messages/tcp/handler.rb,<br /> lib/maxcube/messages/tcp/serializer.rb</span>
83
- </dd>
84
- </dl>
85
-
86
- </div>
87
-
88
- <h2>Overview</h2><div class="docstring">
89
- <div class="discussion">
90
-
91
- <p>This module contains classes aimed onto TCP messages of Cube protocol.</p>
92
-
93
- <p>Structure of every TCP Cube message:</p>
94
- <ul><li>
95
- <p>Starts with single letter followed by <code>:</code></p>
96
- </li><li>
97
- <p>Ends with <tt>\r\n</tt></p>
98
- </li><li>
99
- <p>Except of the end, it contains only printable characters.</p>
100
- </li></ul>
101
-
102
- <p>As all messages are being split by <tt>\r\n</tt>, it does not occur in single
103
- message processing, only in raw data processing.</p>
104
-
105
-
106
- </div>
107
- </div>
108
- <div class="tags">
109
-
110
- <div class="examples">
111
- <p class="tag_title">Examples:</p>
112
-
113
-
114
- <pre class="example code"><code>X:message\r\n</code></pre>
115
-
116
- </div>
117
-
118
-
119
- </div><h2>Defined Under Namespace</h2>
120
- <p class="children">
121
-
122
-
123
- <strong class="modules">Modules:</strong> <span class='object_link'><a href="TCP/Handler.html" title="MaxCube::Messages::TCP::Handler (module)">Handler</a></span>
124
-
125
-
126
-
127
- <strong class="classes">Classes:</strong> <span class='object_link'><a href="TCP/Parser.html" title="MaxCube::Messages::TCP::Parser (class)">Parser</a></span>, <span class='object_link'><a href="TCP/Serializer.html" title="MaxCube::Messages::TCP::Serializer (class)">Serializer</a></span>
128
-
129
-
130
- </p>
131
-
132
- <h2>Constant Summary</h2>
133
- <dl class="constants">
134
-
135
- <dt id="MSG_MAX_LEN-constant" class="">MSG_MAX_LEN =
136
- <div class="docstring">
137
- <div class="discussion">
138
-
139
- <p>Maximum length of TCP Cube message without <tt>\r\n</tt> (with it it would be
140
- 1900)</p>
141
-
142
-
143
- </div>
144
- </div>
145
- <div class="tags">
146
-
147
-
148
- </div>
149
- </dt>
150
- <dd><pre class="code"><span class='int'>1898</span></pre></dd>
151
-
152
- </dl>
153
-
154
-
155
-
156
-
157
-
158
-
159
-
160
-
161
-
162
- </div>
163
-
164
- <div id="footer">
165
- Generated on Fri Feb 16 13:44:01 2018 by
166
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
167
- 0.9.12 (ruby-2.5.0).
168
- </div>
169
-
170
- </div>
171
- </body>
172
- </html>
@@ -1,1396 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>
7
- Module: MaxCube::Messages::TCP::Handler
8
-
9
- &mdash; Documentation by YARD 0.9.12
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="../../../css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="../../../css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- pathId = "MaxCube::Messages::TCP::Handler";
19
- relpath = '../../../';
20
- </script>
21
-
22
-
23
- <script type="text/javascript" charset="utf-8" src="../../../js/jquery.js"></script>
24
-
25
- <script type="text/javascript" charset="utf-8" src="../../../js/app.js"></script>
26
-
27
-
28
- </head>
29
- <body>
30
- <div class="nav_wrap">
31
- <iframe id="nav" src="../../../class_list.html?1"></iframe>
32
- <div id="resizer"></div>
33
- </div>
34
-
35
- <div id="main" tabindex="-1">
36
- <div id="header">
37
- <div id="menu">
38
-
39
- <a href="../../../_index.html">Index (H)</a> &raquo;
40
- <span class='title'><span class='object_link'><a href="../../../MaxCube.html" title="MaxCube (module)">MaxCube</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../../Messages.html" title="MaxCube::Messages (module)">Messages</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../TCP.html" title="MaxCube::Messages::TCP (module)">TCP</a></span></span>
41
- &raquo;
42
- <span class="title">Handler</span>
43
-
44
- </div>
45
-
46
- <div id="search">
47
-
48
- <a class="full_list_link" id="class_list_link"
49
- href="../../../class_list.html">
50
-
51
- <svg width="24" height="24">
52
- <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
- <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
- <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
- </svg>
56
- </a>
57
-
58
- </div>
59
- <div class="clear"></div>
60
- </div>
61
-
62
- <div id="content"><h1>Module: MaxCube::Messages::TCP::Handler
63
-
64
-
65
-
66
- </h1>
67
- <div class="box_info">
68
-
69
-
70
-
71
-
72
-
73
-
74
- <dl>
75
- <dt>Includes:</dt>
76
- <dd><span class='object_link'><a href="../Handler.html" title="MaxCube::Messages::Handler (module)">Handler</a></span></dd>
77
- </dl>
78
-
79
-
80
-
81
-
82
- <dl>
83
- <dt>Included in:</dt>
84
- <dd><span class='object_link'><a href="Parser.html" title="MaxCube::Messages::TCP::Parser (class)">Parser</a></span>, <span class='object_link'><a href="Serializer.html" title="MaxCube::Messages::TCP::Serializer (class)">Serializer</a></span></dd>
85
- </dl>
86
-
87
-
88
-
89
- <dl>
90
- <dt>Defined in:</dt>
91
- <dd>lib/maxcube/messages/tcp/handler.rb</dd>
92
- </dl>
93
-
94
- </div>
95
-
96
- <h2>Overview</h2><div class="docstring">
97
- <div class="discussion">
98
-
99
- <p>Extends <span class='object_link'><a href="../Handler.html" title="MaxCube::Messages::Handler (module)">Handler</a></span> of routines connected to TCP Cube messages.</p>
100
-
101
-
102
- </div>
103
- </div>
104
- <div class="tags">
105
-
106
-
107
- </div>
108
-
109
-
110
- <h2>Constant Summary</h2>
111
-
112
- <h3 class="inherited">Constants included
113
- from <span class='object_link'><a href="../Handler.html" title="MaxCube::Messages::Handler (module)">Handler</a></span></h3>
114
- <p class="inherited"><span class='object_link'><a href="../Handler.html#PACK_FORMAT-constant" title="MaxCube::Messages::Handler::PACK_FORMAT (constant)">Handler::PACK_FORMAT</a></span></p>
115
-
116
-
117
-
118
- <h3 class="inherited">Constants included
119
- from <span class='object_link'><a href="../../Messages.html" title="MaxCube::Messages (module)">MaxCube::Messages</a></span></h3>
120
- <p class="inherited"><span class='object_link'><a href="../../Messages.html#DAYS_OF_WEEK-constant" title="MaxCube::Messages::DAYS_OF_WEEK (constant)">DAYS_OF_WEEK</a></span>, <span class='object_link'><a href="../../Messages.html#DEVICE_MODE-constant" title="MaxCube::Messages::DEVICE_MODE (constant)">DEVICE_MODE</a></span>, <span class='object_link'><a href="../../Messages.html#DEVICE_TYPE-constant" title="MaxCube::Messages::DEVICE_TYPE (constant)">DEVICE_TYPE</a></span></p>
121
-
122
-
123
-
124
-
125
-
126
-
127
- <h2>
128
- Instance Method Summary
129
- <small><a href="#" class="summary_toggle">collapse</a></small>
130
- </h2>
131
-
132
- <ul class="summary">
133
-
134
- <li class="public ">
135
- <span class="summary_signature">
136
-
137
- <a href="#check_tcp_data-instance_method" title="#check_tcp_data (instance method)">#<strong>check_tcp_data</strong>(raw_data) &#x21d2; String </a>
138
-
139
-
140
-
141
- </span>
142
-
143
-
144
-
145
-
146
-
147
-
148
-
149
-
150
-
151
- <span class="summary_desc"><div class='inline'>
152
- <p>As <span class='object_link'><a href="#valid_tcp_data-instance_method" title="MaxCube::Messages::TCP::Handler#valid_tcp_data (method)">#valid_tcp_data</a></span>, but raises exception if raw data is not valid.</p>
153
- </div></span>
154
-
155
- </li>
156
-
157
-
158
- <li class="public ">
159
- <span class="summary_signature">
160
-
161
- <a href="#check_tcp_hash-instance_method" title="#check_tcp_hash (instance method)">#<strong>check_tcp_hash</strong>(hash) &#x21d2; Hash </a>
162
-
163
-
164
-
165
- </span>
166
-
167
-
168
-
169
-
170
-
171
-
172
-
173
-
174
-
175
- <span class="summary_desc"><div class='inline'>
176
- <p>As <span class='object_link'><a href="#valid_tcp_hash-instance_method" title="MaxCube::Messages::TCP::Handler#valid_tcp_hash (method)">#valid_tcp_hash</a></span>, but raises exception if hash is not valid.</p>
177
- </div></span>
178
-
179
- </li>
180
-
181
-
182
- <li class="public ">
183
- <span class="summary_signature">
184
-
185
- <a href="#check_tcp_msg-instance_method" title="#check_tcp_msg (instance method)">#<strong>check_tcp_msg</strong>(msg) &#x21d2; String </a>
186
-
187
-
188
-
189
- </span>
190
-
191
-
192
-
193
-
194
-
195
-
196
-
197
-
198
-
199
- <span class="summary_desc"><div class='inline'>
200
- <p>As <span class='object_link'><a href="#valid_tcp_msg-instance_method" title="MaxCube::Messages::TCP::Handler#valid_tcp_msg (method)">#valid_tcp_msg</a></span>, but raises exception if message is not valid.</p>
201
- </div></span>
202
-
203
- </li>
204
-
205
-
206
- <li class="public ">
207
- <span class="summary_signature">
208
-
209
- <a href="#check_tcp_msg_format-instance_method" title="#check_tcp_msg_format (instance method)">#<strong>check_tcp_msg_format</strong>(msg) &#x21d2; String </a>
210
-
211
-
212
-
213
- </span>
214
-
215
-
216
-
217
-
218
-
219
-
220
-
221
-
222
-
223
- <span class="summary_desc"><div class='inline'>
224
- <p>As <span class='object_link'><a href="#valid_tcp_msg_format-instance_method" title="MaxCube::Messages::TCP::Handler#valid_tcp_msg_format (method)">#valid_tcp_msg_format</a></span>, but raises exception if message format is not
225
- valid.</p>
226
- </div></span>
227
-
228
- </li>
229
-
230
-
231
- <li class="public ">
232
- <span class="summary_signature">
233
-
234
- <a href="#check_tcp_msg_length-instance_method" title="#check_tcp_msg_length (instance method)">#<strong>check_tcp_msg_length</strong>(msg) &#x21d2; Integer </a>
235
-
236
-
237
-
238
- </span>
239
-
240
-
241
-
242
-
243
-
244
-
245
-
246
-
247
-
248
- <span class="summary_desc"><div class='inline'>
249
- <p>As <span class='object_link'><a href="#valid_tcp_msg_length-instance_method" title="MaxCube::Messages::TCP::Handler#valid_tcp_msg_length (method)">#valid_tcp_msg_length</a></span>, but raises exception if message length is not
250
- valid.</p>
251
- </div></span>
252
-
253
- </li>
254
-
255
-
256
- <li class="private ">
257
- <span class="summary_signature">
258
-
259
- <a href="#msg_msg_type-instance_method" title="#msg_msg_type (instance method)">#<strong>msg_msg_type</strong>(msg) &#x21d2; String </a>
260
-
261
-
262
-
263
- </span>
264
-
265
-
266
-
267
- <span class="note title private">private</span>
268
-
269
-
270
-
271
-
272
-
273
- <span class="summary_desc"><div class='inline'>
274
- <p>Tells how to get message type from a message.</p>
275
- </div></span>
276
-
277
- </li>
278
-
279
-
280
- <li class="public ">
281
- <span class="summary_signature">
282
-
283
- <a href="#valid_tcp_data-instance_method" title="#valid_tcp_data (instance method)">#<strong>valid_tcp_data</strong>(raw_data) &#x21d2; Boolean </a>
284
-
285
-
286
-
287
- </span>
288
-
289
-
290
-
291
-
292
-
293
-
294
-
295
-
296
-
297
- <span class="summary_desc"><div class='inline'>
298
- <p>Validates whether input raw data containing multiple separated TCP Cube
299
- messages is valid.</p>
300
- </div></span>
301
-
302
- </li>
303
-
304
-
305
- <li class="public ">
306
- <span class="summary_signature">
307
-
308
- <a href="#valid_tcp_hash-instance_method" title="#valid_tcp_hash (instance method)">#<strong>valid_tcp_hash</strong>(hash) &#x21d2; Boolean </a>
309
-
310
-
311
-
312
- </span>
313
-
314
-
315
-
316
-
317
-
318
-
319
-
320
-
321
-
322
- <span class="summary_desc"><div class='inline'>
323
- <p>Validates whether given hash with message contents is valid for TCP Cube
324
- messaging purposes.</p>
325
- </div></span>
326
-
327
- </li>
328
-
329
-
330
- <li class="public ">
331
- <span class="summary_signature">
332
-
333
- <a href="#valid_tcp_msg-instance_method" title="#valid_tcp_msg (instance method)">#<strong>valid_tcp_msg</strong>(msg) &#x21d2; Boolean </a>
334
-
335
-
336
-
337
- </span>
338
-
339
-
340
-
341
-
342
-
343
-
344
-
345
-
346
-
347
- <span class="summary_desc"><div class='inline'>
348
- <p>Validates whether given message is a valid TCP Cube message.</p>
349
- </div></span>
350
-
351
- </li>
352
-
353
-
354
- <li class="public ">
355
- <span class="summary_signature">
356
-
357
- <a href="#valid_tcp_msg_format-instance_method" title="#valid_tcp_msg_format (instance method)">#<strong>valid_tcp_msg_format</strong>(msg) &#x21d2; Boolean </a>
358
-
359
-
360
-
361
- </span>
362
-
363
-
364
-
365
-
366
-
367
-
368
-
369
-
370
-
371
- <span class="summary_desc"><div class='inline'>
372
- <p>Validates whether message satisfies TCP Cube format (see <span class='object_link'><a href="../TCP.html" title="MaxCube::Messages::TCP (module)">MaxCube::Messages::TCP</a></span>).</p>
373
- </div></span>
374
-
375
- </li>
376
-
377
-
378
- <li class="public ">
379
- <span class="summary_signature">
380
-
381
- <a href="#valid_tcp_msg_length-instance_method" title="#valid_tcp_msg_length (instance method)">#<strong>valid_tcp_msg_length</strong>(msg) &#x21d2; Boolean </a>
382
-
383
-
384
-
385
- </span>
386
-
387
-
388
-
389
-
390
-
391
-
392
-
393
-
394
-
395
- <span class="summary_desc"><div class='inline'>
396
- <p>Validates whether message satisfies <span class='object_link'><a href="../TCP.html#MSG_MAX_LEN-constant" title="MaxCube::Messages::TCP::MSG_MAX_LEN (constant)">MSG_MAX_LEN</a></span>.</p>
397
- </div></span>
398
-
399
- </li>
400
-
401
-
402
- </ul>
403
-
404
-
405
-
406
-
407
-
408
-
409
-
410
-
411
-
412
-
413
-
414
- <h3 class="inherited">Methods included from <span class='object_link'><a href="../Handler.html" title="MaxCube::Messages::Handler (module)">Handler</a></span></h3>
415
- <p class="inherited"><span class='object_link'><a href="../Handler.html#check_data_type-instance_method" title="MaxCube::Messages::Handler#check_data_type (method)">#check_data_type</a></span>, <span class='object_link'><a href="../Handler.html#check_hash-instance_method" title="MaxCube::Messages::Handler#check_hash (method)">#check_hash</a></span>, <span class='object_link'><a href="../Handler.html#check_hash_keys-instance_method" title="MaxCube::Messages::Handler#check_hash_keys (method)">#check_hash_keys</a></span>, <span class='object_link'><a href="../Handler.html#check_hash_msg_type-instance_method" title="MaxCube::Messages::Handler#check_hash_msg_type (method)">#check_hash_msg_type</a></span>, <span class='object_link'><a href="../Handler.html#check_hash_values-instance_method" title="MaxCube::Messages::Handler#check_hash_values (method)">#check_hash_values</a></span>, <span class='object_link'><a href="../Handler.html#check_msg-instance_method" title="MaxCube::Messages::Handler#check_msg (method)">#check_msg</a></span>, <span class='object_link'><a href="../Handler.html#check_msg_msg_type-instance_method" title="MaxCube::Messages::Handler#check_msg_msg_type (method)">#check_msg_msg_type</a></span>, <span class='object_link'><a href="../Handler.html#check_msg_part_lengths-instance_method" title="MaxCube::Messages::Handler#check_msg_part_lengths (method)">#check_msg_part_lengths</a></span>, <span class='object_link'><a href="../Handler.html#check_msg_type-instance_method" title="MaxCube::Messages::Handler#check_msg_type (method)">#check_msg_type</a></span>, <span class='object_link'><a href="../Handler.html#decode-instance_method" title="MaxCube::Messages::Handler#decode (method)">#decode</a></span>, <span class='object_link'><a href="../Handler.html#encode-instance_method" title="MaxCube::Messages::Handler#encode (method)">#encode</a></span>, <span class='object_link'><a href="../Handler.html#maybe_check_valid_hash_keys-instance_method" title="MaxCube::Messages::Handler#maybe_check_valid_hash_keys (method)">#maybe_check_valid_hash_keys</a></span>, <span class='object_link'><a href="../Handler.html#maybe_check_valid_msg_type-instance_method" title="MaxCube::Messages::Handler#maybe_check_valid_msg_type (method)">#maybe_check_valid_msg_type</a></span>, <span class='object_link'><a href="../Handler.html#msg_type_hash_keys-instance_method" title="MaxCube::Messages::Handler#msg_type_hash_keys (method)">#msg_type_hash_keys</a></span>, <span class='object_link'><a href="../Handler.html#msg_type_hash_opt_keys-instance_method" title="MaxCube::Messages::Handler#msg_type_hash_opt_keys (method)">#msg_type_hash_opt_keys</a></span>, <span class='object_link'><a href="../Handler.html#msg_type_which_hash_keys-instance_method" title="MaxCube::Messages::Handler#msg_type_which_hash_keys (method)">#msg_type_which_hash_keys</a></span>, <span class='object_link'><a href="../Handler.html#msg_types-instance_method" title="MaxCube::Messages::Handler#msg_types (method)">#msg_types</a></span>, <span class='object_link'><a href="../Handler.html#valid_data_type-instance_method" title="MaxCube::Messages::Handler#valid_data_type (method)">#valid_data_type</a></span>, <span class='object_link'><a href="../Handler.html#valid_hash-instance_method" title="MaxCube::Messages::Handler#valid_hash (method)">#valid_hash</a></span>, <span class='object_link'><a href="../Handler.html#valid_hash_keys-instance_method" title="MaxCube::Messages::Handler#valid_hash_keys (method)">#valid_hash_keys</a></span>, <span class='object_link'><a href="../Handler.html#valid_hash_msg_type-instance_method" title="MaxCube::Messages::Handler#valid_hash_msg_type (method)">#valid_hash_msg_type</a></span>, <span class='object_link'><a href="../Handler.html#valid_hash_values-instance_method" title="MaxCube::Messages::Handler#valid_hash_values (method)">#valid_hash_values</a></span>, <span class='object_link'><a href="../Handler.html#valid_msg-instance_method" title="MaxCube::Messages::Handler#valid_msg (method)">#valid_msg</a></span>, <span class='object_link'><a href="../Handler.html#valid_msg_msg_type-instance_method" title="MaxCube::Messages::Handler#valid_msg_msg_type (method)">#valid_msg_msg_type</a></span>, <span class='object_link'><a href="../Handler.html#valid_msg_part_lengths-instance_method" title="MaxCube::Messages::Handler#valid_msg_part_lengths (method)">#valid_msg_part_lengths</a></span>, <span class='object_link'><a href="../Handler.html#valid_msg_type-instance_method" title="MaxCube::Messages::Handler#valid_msg_type (method)">#valid_msg_type</a></span></p>
416
-
417
-
418
-
419
-
420
-
421
-
422
-
423
-
424
-
425
- <h3 class="inherited">Methods included from <span class='object_link'><a href="../../Messages.html" title="MaxCube::Messages (module)">MaxCube::Messages</a></span></h3>
426
- <p class="inherited"><span class='object_link'><a href="../../Messages.html#ary_elem-instance_method" title="MaxCube::Messages#ary_elem (method)">#ary_elem</a></span>, <span class='object_link'><a href="../../Messages.html#ary_elem_id-instance_method" title="MaxCube::Messages#ary_elem_id (method)">#ary_elem_id</a></span>, <span class='object_link'><a href="../../Messages.html#conv_args-instance_method" title="MaxCube::Messages#conv_args (method)">#conv_args</a></span>, <span class='object_link'><a href="../../Messages.html#day_of_week-instance_method" title="MaxCube::Messages#day_of_week (method)">#day_of_week</a></span>, <span class='object_link'><a href="../../Messages.html#day_of_week_id-instance_method" title="MaxCube::Messages#day_of_week_id (method)">#day_of_week_id</a></span>, <span class='object_link'><a href="../../Messages.html#device_mode-instance_method" title="MaxCube::Messages#device_mode (method)">#device_mode</a></span>, <span class='object_link'><a href="../../Messages.html#device_mode_id-instance_method" title="MaxCube::Messages#device_mode_id (method)">#device_mode_id</a></span>, <span class='object_link'><a href="../../Messages.html#device_type-instance_method" title="MaxCube::Messages#device_type (method)">#device_type</a></span>, <span class='object_link'><a href="../../Messages.html#device_type_id-instance_method" title="MaxCube::Messages#device_type_id (method)">#device_type_id</a></span>, <span class='object_link'><a href="../../Messages.html#to_bool-instance_method" title="MaxCube::Messages#to_bool (method)">#to_bool</a></span>, <span class='object_link'><a href="../../Messages.html#to_bools-instance_method" title="MaxCube::Messages#to_bools (method)">#to_bools</a></span>, <span class='object_link'><a href="../../Messages.html#to_datetime-instance_method" title="MaxCube::Messages#to_datetime (method)">#to_datetime</a></span>, <span class='object_link'><a href="../../Messages.html#to_datetimes-instance_method" title="MaxCube::Messages#to_datetimes (method)">#to_datetimes</a></span>, <span class='object_link'><a href="../../Messages.html#to_float-instance_method" title="MaxCube::Messages#to_float (method)">#to_float</a></span>, <span class='object_link'><a href="../../Messages.html#to_floats-instance_method" title="MaxCube::Messages#to_floats (method)">#to_floats</a></span>, <span class='object_link'><a href="../../Messages.html#to_int-instance_method" title="MaxCube::Messages#to_int (method)">#to_int</a></span>, <span class='object_link'><a href="../../Messages.html#to_ints-instance_method" title="MaxCube::Messages#to_ints (method)">#to_ints</a></span></p>
427
-
428
-
429
- <div id="instance_method_details" class="method_details_list">
430
- <h2>Instance Method Details</h2>
431
-
432
-
433
- <div class="method_details first">
434
- <h3 class="signature first" id="check_tcp_data-instance_method">
435
-
436
- #<strong>check_tcp_data</strong>(raw_data) &#x21d2; <tt>String</tt>
437
-
438
-
439
-
440
-
441
-
442
- </h3><div class="docstring">
443
- <div class="discussion">
444
-
445
- <p>As <span class='object_link'><a href="#valid_tcp_data-instance_method" title="MaxCube::Messages::TCP::Handler#valid_tcp_data (method)">#valid_tcp_data</a></span>, but raises exception if raw data is not valid.</p>
446
-
447
-
448
- </div>
449
- </div>
450
- <div class="tags">
451
- <p class="tag_title">Parameters:</p>
452
- <ul class="param">
453
-
454
- <li>
455
-
456
- <span class='name'>raw_data</span>
457
-
458
-
459
- <span class='type'>(<tt>String</tt>)</span>
460
-
461
-
462
-
463
- &mdash;
464
- <div class='inline'>
465
- <p>input data with multiple separated messages.</p>
466
- </div>
467
-
468
- </li>
469
-
470
- </ul>
471
-
472
- <p class="tag_title">Returns:</p>
473
- <ul class="return">
474
-
475
- <li>
476
-
477
-
478
- <span class='type'>(<tt>String</tt>)</span>
479
-
480
-
481
-
482
- &mdash;
483
- <div class='inline'>
484
- <p>input data.</p>
485
- </div>
486
-
487
- </li>
488
-
489
- </ul>
490
- <p class="tag_title">Raises:</p>
491
- <ul class="raise">
492
-
493
- <li>
494
-
495
-
496
- <span class='type'>(<tt><span class='object_link'><a href="../InvalidMessageFormat.html" title="MaxCube::Messages::InvalidMessageFormat (class)">InvalidMessageFormat</a></span></tt>)</span>
497
-
498
-
499
-
500
- &mdash;
501
- <div class='inline'>
502
- <p>if input data is not valid.</p>
503
- </div>
504
-
505
- </li>
506
-
507
- </ul>
508
-
509
- </div><table class="source_code">
510
- <tr>
511
- <td>
512
- <pre class="lines">
513
-
514
-
515
- 102
516
- 103
517
- 104
518
- 105</pre>
519
- </td>
520
- <td>
521
- <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/handler.rb', line 102</span>
522
-
523
- <span class='kw'>def</span> <span class='id identifier rubyid_check_tcp_data'>check_tcp_data</span><span class='lparen'>(</span><span class='id identifier rubyid_raw_data'>raw_data</span><span class='rparen'>)</span>
524
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="../InvalidMessageFormat.html" title="MaxCube::Messages::InvalidMessageFormat (class)">InvalidMessageFormat</a></span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_valid_tcp_data'>valid_tcp_data</span><span class='lparen'>(</span><span class='id identifier rubyid_raw_data'>raw_data</span><span class='rparen'>)</span>
525
- <span class='id identifier rubyid_raw_data'>raw_data</span>
526
- <span class='kw'>end</span></pre>
527
- </td>
528
- </tr>
529
- </table>
530
- </div>
531
-
532
- <div class="method_details ">
533
- <h3 class="signature " id="check_tcp_hash-instance_method">
534
-
535
- #<strong>check_tcp_hash</strong>(hash) &#x21d2; <tt>Hash</tt>
536
-
537
-
538
-
539
-
540
-
541
- </h3><div class="docstring">
542
- <div class="discussion">
543
-
544
- <p>As <span class='object_link'><a href="#valid_tcp_hash-instance_method" title="MaxCube::Messages::TCP::Handler#valid_tcp_hash (method)">#valid_tcp_hash</a></span>, but raises exception if hash is not valid. It only
545
- calls <span class='object_link'><a href="../Handler.html#check_hash-instance_method" title="MaxCube::Messages::Handler#check_hash (method)">Handler#check_hash</a></span>.</p>
546
-
547
-
548
- </div>
549
- </div>
550
- <div class="tags">
551
- <p class="tag_title">Parameters:</p>
552
- <ul class="param">
553
-
554
- <li>
555
-
556
- <span class='name'>hash</span>
557
-
558
-
559
- <span class='type'>(<tt>Hash</tt>)</span>
560
-
561
-
562
-
563
- &mdash;
564
- <div class='inline'>
565
- <p>input hash.</p>
566
- </div>
567
-
568
- </li>
569
-
570
- </ul>
571
-
572
- <p class="tag_title">Returns:</p>
573
- <ul class="return">
574
-
575
- <li>
576
-
577
-
578
- <span class='type'>(<tt>Hash</tt>)</span>
579
-
580
-
581
-
582
- &mdash;
583
- <div class='inline'>
584
- <p>input hash.</p>
585
- </div>
586
-
587
- </li>
588
-
589
- </ul>
590
-
591
- </div><table class="source_code">
592
- <tr>
593
- <td>
594
- <pre class="lines">
595
-
596
-
597
- 81
598
- 82
599
- 83
600
- 84</pre>
601
- </td>
602
- <td>
603
- <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/handler.rb', line 81</span>
604
-
605
- <span class='kw'>def</span> <span class='id identifier rubyid_check_tcp_hash'>check_tcp_hash</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
606
- <span class='id identifier rubyid_check_hash'>check_hash</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
607
- <span class='id identifier rubyid_hash'>hash</span>
608
- <span class='kw'>end</span></pre>
609
- </td>
610
- </tr>
611
- </table>
612
- </div>
613
-
614
- <div class="method_details ">
615
- <h3 class="signature " id="check_tcp_msg-instance_method">
616
-
617
- #<strong>check_tcp_msg</strong>(msg) &#x21d2; <tt>String</tt>
618
-
619
-
620
-
621
-
622
-
623
- </h3><div class="docstring">
624
- <div class="discussion">
625
-
626
- <p>As <span class='object_link'><a href="#valid_tcp_msg-instance_method" title="MaxCube::Messages::TCP::Handler#valid_tcp_msg (method)">#valid_tcp_msg</a></span>, but raises exception if message is not valid. It calls
627
- <span class='object_link'><a href="#check_tcp_msg_length-instance_method" title="MaxCube::Messages::TCP::Handler#check_tcp_msg_length (method)">#check_tcp_msg_length</a></span>, <span class='object_link'><a href="#check_tcp_msg_format-instance_method" title="MaxCube::Messages::TCP::Handler#check_tcp_msg_format (method)">#check_tcp_msg_format</a></span> and <span class='object_link'><a href="../Handler.html#check_msg-instance_method" title="MaxCube::Messages::Handler#check_msg (method)">Handler#check_msg</a></span>.</p>
628
-
629
-
630
- </div>
631
- </div>
632
- <div class="tags">
633
- <p class="tag_title">Parameters:</p>
634
- <ul class="param">
635
-
636
- <li>
637
-
638
- <span class='name'>msg</span>
639
-
640
-
641
- <span class='type'>(<tt>String</tt>)</span>
642
-
643
-
644
-
645
- &mdash;
646
- <div class='inline'>
647
- <p>input message.</p>
648
- </div>
649
-
650
- </li>
651
-
652
- </ul>
653
-
654
- <p class="tag_title">Returns:</p>
655
- <ul class="return">
656
-
657
- <li>
658
-
659
-
660
- <span class='type'>(<tt>String</tt>)</span>
661
-
662
-
663
-
664
- &mdash;
665
- <div class='inline'>
666
- <p>input message.</p>
667
- </div>
668
-
669
- </li>
670
-
671
- </ul>
672
-
673
- </div><table class="source_code">
674
- <tr>
675
- <td>
676
- <pre class="lines">
677
-
678
-
679
- 61
680
- 62
681
- 63
682
- 64
683
- 65
684
- 66</pre>
685
- </td>
686
- <td>
687
- <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/handler.rb', line 61</span>
688
-
689
- <span class='kw'>def</span> <span class='id identifier rubyid_check_tcp_msg'>check_tcp_msg</span><span class='lparen'>(</span><span class='id identifier rubyid_msg'>msg</span><span class='rparen'>)</span>
690
- <span class='id identifier rubyid_check_tcp_msg_length'>check_tcp_msg_length</span><span class='lparen'>(</span><span class='id identifier rubyid_msg'>msg</span><span class='rparen'>)</span>
691
- <span class='id identifier rubyid_check_tcp_msg_format'>check_tcp_msg_format</span><span class='lparen'>(</span><span class='id identifier rubyid_msg'>msg</span><span class='rparen'>)</span>
692
- <span class='id identifier rubyid_check_msg'>check_msg</span><span class='lparen'>(</span><span class='id identifier rubyid_msg'>msg</span><span class='rparen'>)</span>
693
- <span class='id identifier rubyid_msg'>msg</span>
694
- <span class='kw'>end</span></pre>
695
- </td>
696
- </tr>
697
- </table>
698
- </div>
699
-
700
- <div class="method_details ">
701
- <h3 class="signature " id="check_tcp_msg_format-instance_method">
702
-
703
- #<strong>check_tcp_msg_format</strong>(msg) &#x21d2; <tt>String</tt>
704
-
705
-
706
-
707
-
708
-
709
- </h3><div class="docstring">
710
- <div class="discussion">
711
-
712
- <p>As <span class='object_link'><a href="#valid_tcp_msg_format-instance_method" title="MaxCube::Messages::TCP::Handler#valid_tcp_msg_format (method)">#valid_tcp_msg_format</a></span>, but raises exception if message format is not
713
- valid.</p>
714
-
715
-
716
- </div>
717
- </div>
718
- <div class="tags">
719
- <p class="tag_title">Parameters:</p>
720
- <ul class="param">
721
-
722
- <li>
723
-
724
- <span class='name'>msg</span>
725
-
726
-
727
- <span class='type'>(<tt>String</tt>)</span>
728
-
729
-
730
-
731
- &mdash;
732
- <div class='inline'>
733
- <p>input message.</p>
734
- </div>
735
-
736
- </li>
737
-
738
- </ul>
739
-
740
- <p class="tag_title">Returns:</p>
741
- <ul class="return">
742
-
743
- <li>
744
-
745
-
746
- <span class='type'>(<tt>String</tt>)</span>
747
-
748
-
749
-
750
- &mdash;
751
- <div class='inline'>
752
- <p>input message.</p>
753
- </div>
754
-
755
- </li>
756
-
757
- </ul>
758
- <p class="tag_title">Raises:</p>
759
- <ul class="raise">
760
-
761
- <li>
762
-
763
-
764
- <span class='type'>(<tt><span class='object_link'><a href="../InvalidMessageFormat.html" title="MaxCube::Messages::InvalidMessageFormat (class)">InvalidMessageFormat</a></span></tt>)</span>
765
-
766
-
767
-
768
- &mdash;
769
- <div class='inline'>
770
- <p>if message format is not valid.</p>
771
- </div>
772
-
773
- </li>
774
-
775
- </ul>
776
-
777
- </div><table class="source_code">
778
- <tr>
779
- <td>
780
- <pre class="lines">
781
-
782
-
783
- 40
784
- 41
785
- 42
786
- 43</pre>
787
- </td>
788
- <td>
789
- <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/handler.rb', line 40</span>
790
-
791
- <span class='kw'>def</span> <span class='id identifier rubyid_check_tcp_msg_format'>check_tcp_msg_format</span><span class='lparen'>(</span><span class='id identifier rubyid_msg'>msg</span><span class='rparen'>)</span>
792
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="../InvalidMessageFormat.html" title="MaxCube::Messages::InvalidMessageFormat (class)">InvalidMessageFormat</a></span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_valid_tcp_msg_format'>valid_tcp_msg_format</span><span class='lparen'>(</span><span class='id identifier rubyid_msg'>msg</span><span class='rparen'>)</span>
793
- <span class='id identifier rubyid_msg'>msg</span>
794
- <span class='kw'>end</span></pre>
795
- </td>
796
- </tr>
797
- </table>
798
- </div>
799
-
800
- <div class="method_details ">
801
- <h3 class="signature " id="check_tcp_msg_length-instance_method">
802
-
803
- #<strong>check_tcp_msg_length</strong>(msg) &#x21d2; <tt>Integer</tt>
804
-
805
-
806
-
807
-
808
-
809
- </h3><div class="docstring">
810
- <div class="discussion">
811
-
812
- <p>As <span class='object_link'><a href="#valid_tcp_msg_length-instance_method" title="MaxCube::Messages::TCP::Handler#valid_tcp_msg_length (method)">#valid_tcp_msg_length</a></span>, but raises exception if message length is not
813
- valid.</p>
814
-
815
-
816
- </div>
817
- </div>
818
- <div class="tags">
819
- <p class="tag_title">Parameters:</p>
820
- <ul class="param">
821
-
822
- <li>
823
-
824
- <span class='name'>msg</span>
825
-
826
-
827
- <span class='type'>(<tt>String</tt>)</span>
828
-
829
-
830
-
831
- &mdash;
832
- <div class='inline'>
833
- <p>input message.</p>
834
- </div>
835
-
836
- </li>
837
-
838
- </ul>
839
-
840
- <p class="tag_title">Returns:</p>
841
- <ul class="return">
842
-
843
- <li>
844
-
845
-
846
- <span class='type'>(<tt>Integer</tt>)</span>
847
-
848
-
849
-
850
- &mdash;
851
- <div class='inline'>
852
- <p>message length.</p>
853
- </div>
854
-
855
- </li>
856
-
857
- </ul>
858
- <p class="tag_title">Raises:</p>
859
- <ul class="raise">
860
-
861
- <li>
862
-
863
-
864
- <span class='type'>(<tt><span class='object_link'><a href="../InvalidMessageLength.html" title="MaxCube::Messages::InvalidMessageLength (class)">InvalidMessageLength</a></span></tt>)</span>
865
-
866
-
867
-
868
- &mdash;
869
- <div class='inline'>
870
- <p>if message length is not valid.</p>
871
- </div>
872
-
873
- </li>
874
-
875
- </ul>
876
-
877
- </div><table class="source_code">
878
- <tr>
879
- <td>
880
- <pre class="lines">
881
-
882
-
883
- 23
884
- 24
885
- 25
886
- 26</pre>
887
- </td>
888
- <td>
889
- <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/handler.rb', line 23</span>
890
-
891
- <span class='kw'>def</span> <span class='id identifier rubyid_check_tcp_msg_length'>check_tcp_msg_length</span><span class='lparen'>(</span><span class='id identifier rubyid_msg'>msg</span><span class='rparen'>)</span>
892
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="../InvalidMessageLength.html" title="MaxCube::Messages::InvalidMessageLength (class)">InvalidMessageLength</a></span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_valid_tcp_msg_length'>valid_tcp_msg_length</span><span class='lparen'>(</span><span class='id identifier rubyid_msg'>msg</span><span class='rparen'>)</span>
893
- <span class='id identifier rubyid_msg'>msg</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span>
894
- <span class='kw'>end</span></pre>
895
- </td>
896
- </tr>
897
- </table>
898
- </div>
899
-
900
- <div class="method_details ">
901
- <h3 class="signature " id="msg_msg_type-instance_method">
902
-
903
- #<strong>msg_msg_type</strong>(msg) &#x21d2; <tt>String</tt> <span class="extras">(private)</span>
904
-
905
-
906
-
907
-
908
-
909
- </h3><div class="docstring">
910
- <div class="discussion">
911
-
912
- <p>Tells how to get message type from a message.</p>
913
-
914
-
915
- </div>
916
- </div>
917
- <div class="tags">
918
- <p class="tag_title">Parameters:</p>
919
- <ul class="param">
920
-
921
- <li>
922
-
923
- <span class='name'>msg</span>
924
-
925
-
926
- <span class='type'>(<tt>String</tt>)</span>
927
-
928
-
929
-
930
- &mdash;
931
- <div class='inline'>
932
- <p>input message.</p>
933
- </div>
934
-
935
- </li>
936
-
937
- </ul>
938
-
939
- <p class="tag_title">Returns:</p>
940
- <ul class="return">
941
-
942
- <li>
943
-
944
-
945
- <span class='type'>(<tt>String</tt>)</span>
946
-
947
-
948
-
949
- &mdash;
950
- <div class='inline'>
951
- <p>message type.</p>
952
- </div>
953
-
954
- </li>
955
-
956
- </ul>
957
-
958
- </div><table class="source_code">
959
- <tr>
960
- <td>
961
- <pre class="lines">
962
-
963
-
964
- 112
965
- 113
966
- 114</pre>
967
- </td>
968
- <td>
969
- <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/handler.rb', line 112</span>
970
-
971
- <span class='kw'>def</span> <span class='id identifier rubyid_msg_msg_type'>msg_msg_type</span><span class='lparen'>(</span><span class='id identifier rubyid_msg'>msg</span><span class='rparen'>)</span>
972
- <span class='id identifier rubyid_msg'>msg</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span>
973
- <span class='kw'>end</span></pre>
974
- </td>
975
- </tr>
976
- </table>
977
- </div>
978
-
979
- <div class="method_details ">
980
- <h3 class="signature " id="valid_tcp_data-instance_method">
981
-
982
- #<strong>valid_tcp_data</strong>(raw_data) &#x21d2; <tt>Boolean</tt>
983
-
984
-
985
-
986
-
987
-
988
- </h3><div class="docstring">
989
- <div class="discussion">
990
-
991
- <p>Validates whether input raw data containing multiple separated TCP Cube
992
- messages is valid. It only checks <tt>\r\n</tt> stuff. It does not validate data
993
- type (<span class='object_link'><a href="../Handler.html#valid_data_type-instance_method" title="MaxCube::Messages::Handler#valid_data_type (method)">Handler#valid_data_type</a></span>), yet? It does not validate particular messages.</p>
994
-
995
-
996
- </div>
997
- </div>
998
- <div class="tags">
999
- <p class="tag_title">Parameters:</p>
1000
- <ul class="param">
1001
-
1002
- <li>
1003
-
1004
- <span class='name'>raw_data</span>
1005
-
1006
-
1007
- <span class='type'>(<tt>String</tt>)</span>
1008
-
1009
-
1010
-
1011
- &mdash;
1012
- <div class='inline'>
1013
- <p>input data with multiple separated messages.</p>
1014
- </div>
1015
-
1016
- </li>
1017
-
1018
- </ul>
1019
-
1020
- <p class="tag_title">Returns:</p>
1021
- <ul class="return">
1022
-
1023
- <li>
1024
-
1025
-
1026
- <span class='type'>(<tt>Boolean</tt>)</span>
1027
-
1028
-
1029
-
1030
- &mdash;
1031
- <div class='inline'>
1032
- <p>whether input data is valid.</p>
1033
- </div>
1034
-
1035
- </li>
1036
-
1037
- </ul>
1038
-
1039
- </div><table class="source_code">
1040
- <tr>
1041
- <td>
1042
- <pre class="lines">
1043
-
1044
-
1045
- 93
1046
- 94
1047
- 95
1048
- 96</pre>
1049
- </td>
1050
- <td>
1051
- <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/handler.rb', line 93</span>
1052
-
1053
- <span class='kw'>def</span> <span class='id identifier rubyid_valid_tcp_data'>valid_tcp_data</span><span class='lparen'>(</span><span class='id identifier rubyid_raw_data'>raw_data</span><span class='rparen'>)</span>
1054
- <span class='kw'>return</span> <span class='kw'>true</span> <span class='kw'>if</span> <span class='id identifier rubyid_raw_data'>raw_data</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
1055
- <span class='id identifier rubyid_raw_data'>raw_data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='op'>..</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>!=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\r\n</span><span class='tstring_end'>&quot;</span></span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_raw_data'>raw_data</span><span class='period'>.</span><span class='id identifier rubyid_chars'>chars</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span><span class='lparen'>(</span><span class='int'>2</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\r\n</span><span class='tstring_end'>&quot;</span></span>
1056
- <span class='kw'>end</span></pre>
1057
- </td>
1058
- </tr>
1059
- </table>
1060
- </div>
1061
-
1062
- <div class="method_details ">
1063
- <h3 class="signature " id="valid_tcp_hash-instance_method">
1064
-
1065
- #<strong>valid_tcp_hash</strong>(hash) &#x21d2; <tt>Boolean</tt>
1066
-
1067
-
1068
-
1069
-
1070
-
1071
- </h3><div class="docstring">
1072
- <div class="discussion">
1073
-
1074
- <p>Validates whether given hash with message contents is valid for TCP Cube
1075
- messaging purposes. It only calls <span class='object_link'><a href="../Handler.html#valid_hash-instance_method" title="MaxCube::Messages::Handler#valid_hash (method)">Handler#valid_hash</a></span>.</p>
1076
-
1077
-
1078
- </div>
1079
- </div>
1080
- <div class="tags">
1081
- <p class="tag_title">Parameters:</p>
1082
- <ul class="param">
1083
-
1084
- <li>
1085
-
1086
- <span class='name'>hash</span>
1087
-
1088
-
1089
- <span class='type'>(<tt>Hash</tt>)</span>
1090
-
1091
-
1092
-
1093
- &mdash;
1094
- <div class='inline'>
1095
- <p>input hash.</p>
1096
- </div>
1097
-
1098
- </li>
1099
-
1100
- </ul>
1101
-
1102
- <p class="tag_title">Returns:</p>
1103
- <ul class="return">
1104
-
1105
- <li>
1106
-
1107
-
1108
- <span class='type'>(<tt>Boolean</tt>)</span>
1109
-
1110
-
1111
-
1112
- &mdash;
1113
- <div class='inline'>
1114
- <p>whether hash is valid.</p>
1115
- </div>
1116
-
1117
- </li>
1118
-
1119
- </ul>
1120
-
1121
- </div><table class="source_code">
1122
- <tr>
1123
- <td>
1124
- <pre class="lines">
1125
-
1126
-
1127
- 73
1128
- 74
1129
- 75</pre>
1130
- </td>
1131
- <td>
1132
- <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/handler.rb', line 73</span>
1133
-
1134
- <span class='kw'>def</span> <span class='id identifier rubyid_valid_tcp_hash'>valid_tcp_hash</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
1135
- <span class='id identifier rubyid_valid_hash'>valid_hash</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span>
1136
- <span class='kw'>end</span></pre>
1137
- </td>
1138
- </tr>
1139
- </table>
1140
- </div>
1141
-
1142
- <div class="method_details ">
1143
- <h3 class="signature " id="valid_tcp_msg-instance_method">
1144
-
1145
- #<strong>valid_tcp_msg</strong>(msg) &#x21d2; <tt>Boolean</tt>
1146
-
1147
-
1148
-
1149
-
1150
-
1151
- </h3><div class="docstring">
1152
- <div class="discussion">
1153
-
1154
- <p>Validates whether given message is a valid TCP Cube message. It calls
1155
- <span class='object_link'><a href="#valid_tcp_msg_length-instance_method" title="MaxCube::Messages::TCP::Handler#valid_tcp_msg_length (method)">#valid_tcp_msg_length</a></span>, <span class='object_link'><a href="#valid_tcp_msg_format-instance_method" title="MaxCube::Messages::TCP::Handler#valid_tcp_msg_format (method)">#valid_tcp_msg_format</a></span> and <span class='object_link'><a href="../Handler.html#valid_msg-instance_method" title="MaxCube::Messages::Handler#valid_msg (method)">Handler#valid_msg</a></span>.</p>
1156
-
1157
-
1158
- </div>
1159
- </div>
1160
- <div class="tags">
1161
- <p class="tag_title">Parameters:</p>
1162
- <ul class="param">
1163
-
1164
- <li>
1165
-
1166
- <span class='name'>msg</span>
1167
-
1168
-
1169
- <span class='type'>(<tt>String</tt>)</span>
1170
-
1171
-
1172
-
1173
- &mdash;
1174
- <div class='inline'>
1175
- <p>input message.</p>
1176
- </div>
1177
-
1178
- </li>
1179
-
1180
- </ul>
1181
-
1182
- <p class="tag_title">Returns:</p>
1183
- <ul class="return">
1184
-
1185
- <li>
1186
-
1187
-
1188
- <span class='type'>(<tt>Boolean</tt>)</span>
1189
-
1190
-
1191
-
1192
- &mdash;
1193
- <div class='inline'>
1194
- <p>whether message is valid.</p>
1195
- </div>
1196
-
1197
- </li>
1198
-
1199
- </ul>
1200
-
1201
- </div><table class="source_code">
1202
- <tr>
1203
- <td>
1204
- <pre class="lines">
1205
-
1206
-
1207
- 50
1208
- 51
1209
- 52
1210
- 53
1211
- 54</pre>
1212
- </td>
1213
- <td>
1214
- <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/handler.rb', line 50</span>
1215
-
1216
- <span class='kw'>def</span> <span class='id identifier rubyid_valid_tcp_msg'>valid_tcp_msg</span><span class='lparen'>(</span><span class='id identifier rubyid_msg'>msg</span><span class='rparen'>)</span>
1217
- <span class='id identifier rubyid_valid_tcp_msg_length'>valid_tcp_msg_length</span><span class='lparen'>(</span><span class='id identifier rubyid_msg'>msg</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span>
1218
- <span class='id identifier rubyid_valid_tcp_msg_format'>valid_tcp_msg_format</span><span class='lparen'>(</span><span class='id identifier rubyid_msg'>msg</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span>
1219
- <span class='id identifier rubyid_valid_msg'>valid_msg</span><span class='lparen'>(</span><span class='id identifier rubyid_msg'>msg</span><span class='rparen'>)</span>
1220
- <span class='kw'>end</span></pre>
1221
- </td>
1222
- </tr>
1223
- </table>
1224
- </div>
1225
-
1226
- <div class="method_details ">
1227
- <h3 class="signature " id="valid_tcp_msg_format-instance_method">
1228
-
1229
- #<strong>valid_tcp_msg_format</strong>(msg) &#x21d2; <tt>Boolean</tt>
1230
-
1231
-
1232
-
1233
-
1234
-
1235
- </h3><div class="docstring">
1236
- <div class="discussion">
1237
-
1238
- <p>Validates whether message satisfies TCP Cube format (see <span class='object_link'><a href="../TCP.html" title="MaxCube::Messages::TCP (module)">MaxCube::Messages::TCP</a></span>).</p>
1239
-
1240
-
1241
- </div>
1242
- </div>
1243
- <div class="tags">
1244
- <p class="tag_title">Parameters:</p>
1245
- <ul class="param">
1246
-
1247
- <li>
1248
-
1249
- <span class='name'>msg</span>
1250
-
1251
-
1252
- <span class='type'>(<tt>String</tt>)</span>
1253
-
1254
-
1255
-
1256
- &mdash;
1257
- <div class='inline'>
1258
- <p>input message.</p>
1259
- </div>
1260
-
1261
- </li>
1262
-
1263
- </ul>
1264
-
1265
- <p class="tag_title">Returns:</p>
1266
- <ul class="return">
1267
-
1268
- <li>
1269
-
1270
-
1271
- <span class='type'>(<tt>Boolean</tt>)</span>
1272
-
1273
-
1274
-
1275
- &mdash;
1276
- <div class='inline'>
1277
- <p>whether message format is valid.</p>
1278
- </div>
1279
-
1280
- </li>
1281
-
1282
- </ul>
1283
-
1284
- </div><table class="source_code">
1285
- <tr>
1286
- <td>
1287
- <pre class="lines">
1288
-
1289
-
1290
- 31
1291
- 32
1292
- 33</pre>
1293
- </td>
1294
- <td>
1295
- <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/handler.rb', line 31</span>
1296
-
1297
- <span class='kw'>def</span> <span class='id identifier rubyid_valid_tcp_msg_format'>valid_tcp_msg_format</span><span class='lparen'>(</span><span class='id identifier rubyid_msg'>msg</span><span class='rparen'>)</span>
1298
- <span class='id identifier rubyid_msg'>msg</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A[[:alpha:]]:[[:print:]]*\z</span><span class='regexp_end'>/</span></span>
1299
- <span class='kw'>end</span></pre>
1300
- </td>
1301
- </tr>
1302
- </table>
1303
- </div>
1304
-
1305
- <div class="method_details ">
1306
- <h3 class="signature " id="valid_tcp_msg_length-instance_method">
1307
-
1308
- #<strong>valid_tcp_msg_length</strong>(msg) &#x21d2; <tt>Boolean</tt>
1309
-
1310
-
1311
-
1312
-
1313
-
1314
- </h3><div class="docstring">
1315
- <div class="discussion">
1316
-
1317
- <p>Validates whether message satisfies <span class='object_link'><a href="../TCP.html#MSG_MAX_LEN-constant" title="MaxCube::Messages::TCP::MSG_MAX_LEN (constant)">MSG_MAX_LEN</a></span>.</p>
1318
-
1319
-
1320
- </div>
1321
- </div>
1322
- <div class="tags">
1323
- <p class="tag_title">Parameters:</p>
1324
- <ul class="param">
1325
-
1326
- <li>
1327
-
1328
- <span class='name'>msg</span>
1329
-
1330
-
1331
- <span class='type'>(<tt>String</tt>)</span>
1332
-
1333
-
1334
-
1335
- &mdash;
1336
- <div class='inline'>
1337
- <p>input message.</p>
1338
- </div>
1339
-
1340
- </li>
1341
-
1342
- </ul>
1343
-
1344
- <p class="tag_title">Returns:</p>
1345
- <ul class="return">
1346
-
1347
- <li>
1348
-
1349
-
1350
- <span class='type'>(<tt>Boolean</tt>)</span>
1351
-
1352
-
1353
-
1354
- &mdash;
1355
- <div class='inline'>
1356
- <p>whether message length is valid.</p>
1357
- </div>
1358
-
1359
- </li>
1360
-
1361
- </ul>
1362
-
1363
- </div><table class="source_code">
1364
- <tr>
1365
- <td>
1366
- <pre class="lines">
1367
-
1368
-
1369
- 14
1370
- 15
1371
- 16</pre>
1372
- </td>
1373
- <td>
1374
- <pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/handler.rb', line 14</span>
1375
-
1376
- <span class='kw'>def</span> <span class='id identifier rubyid_valid_tcp_msg_length'>valid_tcp_msg_length</span><span class='lparen'>(</span><span class='id identifier rubyid_msg'>msg</span><span class='rparen'>)</span>
1377
- <span class='id identifier rubyid_msg'>msg</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='period'>.</span><span class='id identifier rubyid_between?'>between?</span><span class='lparen'>(</span><span class='int'>2</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../TCP.html#MSG_MAX_LEN-constant" title="MaxCube::Messages::TCP::MSG_MAX_LEN (constant)">MSG_MAX_LEN</a></span></span><span class='rparen'>)</span>
1378
- <span class='kw'>end</span></pre>
1379
- </td>
1380
- </tr>
1381
- </table>
1382
- </div>
1383
-
1384
- </div>
1385
-
1386
- </div>
1387
-
1388
- <div id="footer">
1389
- Generated on Fri Feb 16 13:44:01 2018 by
1390
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1391
- 0.9.12 (ruby-2.5.0).
1392
- </div>
1393
-
1394
- </div>
1395
- </body>
1396
- </html>