bitgirder-platform 0.1.12 → 0.1.15
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.
- data/lib/bitgirder/io.rb +0 -4
- data/lib/doc-gen18.rb +1 -1
- data/lib/doc-gen20.rb +1 -1
- data/lib/mingle/bincodec.rb +36 -105
- metadata +2 -2
data/lib/bitgirder/io.rb
CHANGED
|
@@ -359,7 +359,6 @@ module_function :read_full
|
|
|
359
359
|
|
|
360
360
|
def can_connect?( *argv )
|
|
361
361
|
|
|
362
|
-
code( "In can_connect, argv: #{argv}" )
|
|
363
362
|
raise "Need at least a port" if argv.empty?
|
|
364
363
|
|
|
365
364
|
host = argv.first.is_a?( String ) ? argv.shift : "127.0.0.1"
|
|
@@ -371,12 +370,9 @@ def can_connect?( *argv )
|
|
|
371
370
|
end
|
|
372
371
|
|
|
373
372
|
begin
|
|
374
|
-
code( "Making connection" )
|
|
375
373
|
TCPSocket::new( host, port ).close
|
|
376
|
-
code( "Got conn" )
|
|
377
374
|
true
|
|
378
375
|
rescue Errno::ECONNREFUSED
|
|
379
|
-
code( "No conn" )
|
|
380
376
|
false
|
|
381
377
|
end
|
|
382
378
|
end
|
data/lib/doc-gen18.rb
CHANGED
data/lib/doc-gen20.rb
CHANGED
data/lib/mingle/bincodec.rb
CHANGED
|
@@ -5,26 +5,24 @@ require 'mingle/codec'
|
|
|
5
5
|
|
|
6
6
|
module Mingle
|
|
7
7
|
module BinCodec
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
TYPE_CODE_BOOLEAN =
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
TYPE_CODE_NULL = 0x012
|
|
27
|
-
TYPE_CODE_FIELD = 0x13
|
|
8
|
+
|
|
9
|
+
TYPE_CODE_NULL = 0x00
|
|
10
|
+
TYPE_CODE_BOOLEAN = 0x0a
|
|
11
|
+
TYPE_CODE_STRING = 0x0b
|
|
12
|
+
TYPE_CODE_INT32 = 0x0c
|
|
13
|
+
TYPE_CODE_INT64 = 0x0d
|
|
14
|
+
TYPE_CODE_UINT32 = 0x0e
|
|
15
|
+
TYPE_CODE_UINT64 = 0x0f
|
|
16
|
+
TYPE_CODE_FLOAT32 = 0x10
|
|
17
|
+
TYPE_CODE_FLOAT64 = 0x11
|
|
18
|
+
TYPE_CODE_TIMESTAMP = 0x12
|
|
19
|
+
TYPE_CODE_BUFFER = 0x13
|
|
20
|
+
TYPE_CODE_ENUM = 0x14
|
|
21
|
+
TYPE_CODE_SYMBOL_MAP = 0x15
|
|
22
|
+
TYPE_CODE_FIELD = 0x16
|
|
23
|
+
TYPE_CODE_STRUCT = 0x17
|
|
24
|
+
TYPE_CODE_LIST = 0x19
|
|
25
|
+
TYPE_CODE_END = 0x1a
|
|
28
26
|
|
|
29
27
|
Io = BitGirder::Io
|
|
30
28
|
|
|
@@ -50,26 +48,14 @@ class MingleBinCodec < BitGirder::Core::BitGirderClass
|
|
|
50
48
|
wr.write_buffer32( buf )
|
|
51
49
|
end
|
|
52
50
|
|
|
53
|
-
private
|
|
54
|
-
def append_utf8( wr, str )
|
|
55
|
-
|
|
56
|
-
append_type_code( wr, TYPE_CODE_UTF8_STRING )
|
|
57
|
-
|
|
58
|
-
# str = BitGirder::Io.as_utf8( str )
|
|
59
|
-
# append_sized_buffer( wr, str.encode( "binary" ) )
|
|
60
|
-
wr.write_utf8( str )
|
|
61
|
-
end
|
|
62
|
-
|
|
63
51
|
private
|
|
64
52
|
def append_type_reference( wr, typ )
|
|
65
53
|
BinWriter.as_bin_writer( wr ).write_type_reference( typ )
|
|
66
|
-
# append_utf8( wr, typ.external_form )
|
|
67
54
|
end
|
|
68
55
|
|
|
69
56
|
private
|
|
70
57
|
def append_identifier( wr, id )
|
|
71
58
|
BinWriter.as_bin_writer( wr ).write_identifier( id )
|
|
72
|
-
# append_utf8( wr, id.external_form )
|
|
73
59
|
end
|
|
74
60
|
|
|
75
61
|
private
|
|
@@ -83,7 +69,7 @@ class MingleBinCodec < BitGirder::Core::BitGirderClass
|
|
|
83
69
|
def append_string( wr, str )
|
|
84
70
|
|
|
85
71
|
append_type_code( wr, TYPE_CODE_STRING )
|
|
86
|
-
|
|
72
|
+
wr.write_utf8( str.to_s )
|
|
87
73
|
end
|
|
88
74
|
|
|
89
75
|
private
|
|
@@ -141,8 +127,9 @@ class MingleBinCodec < BitGirder::Core::BitGirderClass
|
|
|
141
127
|
private
|
|
142
128
|
def append_timestamp( wr, val )
|
|
143
129
|
|
|
144
|
-
append_type_code( wr,
|
|
145
|
-
|
|
130
|
+
append_type_code( wr, TYPE_CODE_TIMESTAMP )
|
|
131
|
+
wr.write_int64( val.time.to_i )
|
|
132
|
+
wr.write_int32( val.time.nsec )
|
|
146
133
|
end
|
|
147
134
|
|
|
148
135
|
private
|
|
@@ -257,12 +244,13 @@ class MingleBinCodec < BitGirder::Core::BitGirderClass
|
|
|
257
244
|
end
|
|
258
245
|
|
|
259
246
|
private
|
|
260
|
-
def
|
|
261
|
-
|
|
262
|
-
|
|
247
|
+
def raise_unrecognized_value_code( tc, pos )
|
|
248
|
+
decode_raise( pos, sprintf( "Unrecognized value code: 0x%02x", tc ) )
|
|
249
|
+
end
|
|
263
250
|
|
|
264
|
-
|
|
265
|
-
|
|
251
|
+
private
|
|
252
|
+
def type_code_expect_raise( code_sym, code_act, pos )
|
|
253
|
+
raise_unrecognized_value_code( code_act, pos )
|
|
266
254
|
end
|
|
267
255
|
|
|
268
256
|
private
|
|
@@ -282,63 +270,14 @@ class MingleBinCodec < BitGirder::Core::BitGirderClass
|
|
|
282
270
|
expect_type_code( scanner, :TYPE_CODE_END )
|
|
283
271
|
end
|
|
284
272
|
|
|
285
|
-
private
|
|
286
|
-
def read_string_with_info( scanner )
|
|
287
|
-
|
|
288
|
-
# Only handling utf8 strings right now
|
|
289
|
-
expect_type_code( scanner, :TYPE_CODE_UTF8_STRING )
|
|
290
|
-
|
|
291
|
-
str = scanner.read_utf8
|
|
292
|
-
start_pos = scanner.pos - str.bytesize
|
|
293
|
-
[ str, { :string_start => start_pos } ]
|
|
294
|
-
end
|
|
295
|
-
|
|
296
|
-
private
|
|
297
|
-
def read_string( scanner )
|
|
298
|
-
read_string_with_info( scanner )[ 0 ]
|
|
299
|
-
end
|
|
300
|
-
|
|
301
|
-
private
|
|
302
|
-
def parse_string( opts )
|
|
303
|
-
|
|
304
|
-
scanner = has_key( opts, :scanner )
|
|
305
|
-
parser = has_key( opts, :parser )
|
|
306
|
-
parse_type = has_key( opts, :parse_type )
|
|
307
|
-
error_type = has_key( opts, :error_type )
|
|
308
|
-
|
|
309
|
-
str, info = read_string_with_info( scanner )
|
|
310
|
-
|
|
311
|
-
begin
|
|
312
|
-
parser.call( str )
|
|
313
|
-
rescue error_type => err
|
|
314
|
-
pos = has_key( info, :string_start )
|
|
315
|
-
decode_raise( pos, "Invalid #{parse_type}: #{err}" )
|
|
316
|
-
end
|
|
317
|
-
end
|
|
318
|
-
|
|
319
273
|
private
|
|
320
274
|
def read_type_reference( scanner )
|
|
321
|
-
|
|
322
275
|
return BinReader.as_bin_reader( scanner ).read_type_reference
|
|
323
|
-
|
|
324
|
-
# parse_string(
|
|
325
|
-
# :scanner => scanner,
|
|
326
|
-
# :parser => lambda { |str| MingleTypeReference.get( str ) },
|
|
327
|
-
# :parse_type => "type reference",
|
|
328
|
-
# :error_type => MingleParseError
|
|
329
|
-
# )
|
|
330
276
|
end
|
|
331
277
|
|
|
332
278
|
private
|
|
333
279
|
def read_identifier( scanner )
|
|
334
|
-
|
|
335
280
|
return BinReader.as_bin_reader( scanner ).read_identifier
|
|
336
|
-
# parse_string(
|
|
337
|
-
# :scanner => scanner,
|
|
338
|
-
# :parser => lambda { |str| MingleIdentifier.get( str ) },
|
|
339
|
-
# :parse_type => "identifier",
|
|
340
|
-
# :error_type => MingleParseError
|
|
341
|
-
# )
|
|
342
281
|
end
|
|
343
282
|
|
|
344
283
|
private
|
|
@@ -379,7 +318,7 @@ class MingleBinCodec < BitGirder::Core::BitGirderClass
|
|
|
379
318
|
|
|
380
319
|
private
|
|
381
320
|
def read_mg_string( scanner )
|
|
382
|
-
MingleString.new(
|
|
321
|
+
MingleString.new( scanner.read_utf8 )
|
|
383
322
|
end
|
|
384
323
|
|
|
385
324
|
private
|
|
@@ -426,12 +365,10 @@ class MingleBinCodec < BitGirder::Core::BitGirderClass
|
|
|
426
365
|
private
|
|
427
366
|
def read_mg_timestamp( scanner )
|
|
428
367
|
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
:error_type => MingleTimestamp::Rfc3339FormatError
|
|
434
|
-
)
|
|
368
|
+
secs, nsec = scanner.read_int64, scanner.read_int32
|
|
369
|
+
t = Time.at( secs, nsec.to_f / 1000.0 )
|
|
370
|
+
|
|
371
|
+
MingleTimestamp.new( t, false )
|
|
435
372
|
end
|
|
436
373
|
|
|
437
374
|
private
|
|
@@ -462,15 +399,12 @@ class MingleBinCodec < BitGirder::Core::BitGirderClass
|
|
|
462
399
|
when TYPE_CODE_STRING then read_mg_string( scanner )
|
|
463
400
|
when TYPE_CODE_BUFFER then read_mg_buffer( scanner )
|
|
464
401
|
when TYPE_CODE_ENUM then read_mg_enum( scanner )
|
|
465
|
-
when
|
|
402
|
+
when TYPE_CODE_TIMESTAMP then read_mg_timestamp( scanner )
|
|
466
403
|
when TYPE_CODE_STRUCT then read_mg_struct( scanner )
|
|
467
404
|
when TYPE_CODE_SYMBOL_MAP then read_fields( scanner )
|
|
468
405
|
when TYPE_CODE_LIST then read_mg_list( scanner )
|
|
469
406
|
when TYPE_CODE_NULL then MingleNull::INSTANCE
|
|
470
|
-
|
|
471
|
-
else
|
|
472
|
-
decode_raise(
|
|
473
|
-
scanner, "Unexpected type code: #{to_hex_byte( typ )}" )
|
|
407
|
+
else raise_unrecognized_value_code( typ, scanner )
|
|
474
408
|
end
|
|
475
409
|
end
|
|
476
410
|
|
|
@@ -485,10 +419,7 @@ class MingleBinCodec < BitGirder::Core::BitGirderClass
|
|
|
485
419
|
end
|
|
486
420
|
|
|
487
421
|
unless ( tc = @conv.read_int8( buf[ 0, 1 ] ) ) == TYPE_CODE_STRUCT
|
|
488
|
-
|
|
489
|
-
msg = "Saw type code #{to_hex_byte( tc )} but expected " +
|
|
490
|
-
to_hex_byte( TYPE_CODE_STRUCT )
|
|
491
|
-
decode_raise( 0, msg )
|
|
422
|
+
raise_unrecognized_value_code( tc, 0 )
|
|
492
423
|
end
|
|
493
424
|
end
|
|
494
425
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bitgirder-platform
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.15
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2012-12-
|
|
12
|
+
date: 2012-12-31 00:00:00.000000000 Z
|
|
13
13
|
dependencies: []
|
|
14
14
|
description: Contains core classes and interfaces for building event logger implementations.
|
|
15
15
|
Also includes helper classes for incorporating assertions about event logging into
|