leveldb 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/lib/leveldb.rb CHANGED
@@ -1,1006 +1,6 @@
1
- require 'ffi'
2
-
3
- module Leveldb
4
- extend FFI::Library
5
- ffi_lib File.expand_path("../../ext/leveldb/libleveldb.#{FFI::Platform::LIBSUFFIX}", __FILE__)
6
-
7
- class FFI::Struct
8
- def self.release(pointer)
9
- Leveldb.free(pointer) unless pointer.null?
10
- end
11
- end
12
-
13
- class Err
14
- def initialize
15
- @_err = FFI::MemoryPointer.new(:pointer, 1)
16
- end
17
-
18
- def ptr
19
- @_err.read_pointer
20
- end
21
-
22
- def to_ptr
23
- @_err
24
- end
25
-
26
- def null?
27
- ptr.null?
28
- end
29
-
30
- def message
31
- ptr.read_string
32
- end
33
- end
34
-
35
- def err_create
36
- Err.new
37
- end
38
-
39
- def read_len
40
- FFI::MemoryPointer.new(:size_t)
41
- end
42
-
43
- ##
44
- # Writing FFI::Gen::Enum
45
- #
46
- ##
47
- # Writing FFI::Gen::StructOrUnion
48
- #
49
- # (Not documented)
50
- class DB < FFI::Struct
51
- layout :dummy, :char
52
-
53
- def close
54
- Leveldb.close(self)
55
- end
56
-
57
- def self.release
58
- # free by #close
59
- end
60
- end
61
-
62
- # (Not documented)
63
- module ComparatorWrappers
64
- # @return [nil]
65
- def destroy()
66
- Leveldb.comparator_destroy(self)
67
- end
68
- end
69
-
70
- class Comparator < FFI::Struct
71
- include ComparatorWrappers
72
- layout :dummy, :char
73
- end
74
-
75
- # (Not documented)
76
- class Filelock < FFI::Struct
77
- layout :dummy, :char
78
- end
79
-
80
- # (Not documented)
81
- class Iterator < FFI::Struct
82
- layout :dummy, :char
83
- end
84
-
85
- # (Not documented)
86
- module OptionsWrappers
87
- # @param [Comparator] comparator
88
- # @return [nil]
89
- def set_comparator(comparator)
90
- Leveldb.options_set_comparator(self, comparator)
91
- end
92
-
93
- # @param [Integer] u_char
94
- # @return [nil]
95
- def set_create_if_missing(u_char)
96
- Leveldb.options_set_create_if_missing(self, u_char)
97
- end
98
-
99
- # @param [Integer] u_char
100
- # @return [nil]
101
- def set_paranoid_checks(u_char)
102
- Leveldb.options_set_paranoid_checks(self, u_char)
103
- end
104
-
105
- # @param [FFI::Pointer(*Logger)] logger
106
- # @return [nil]
107
- def set_info_log(logger)
108
- Leveldb.options_set_info_log(self, logger)
109
- end
110
-
111
- # @param [Integer] int
112
- # @return [nil]
113
- def set_max_open_files(int)
114
- Leveldb.options_set_max_open_files(self, int)
115
- end
116
-
117
- # @param [Integer] u_long
118
- # @return [nil]
119
- def set_block_size(u_long)
120
- Leveldb.options_set_block_size(self, u_long)
121
- end
122
-
123
- # @param [Integer] int
124
- # @return [nil]
125
- def set_compression(int)
126
- Leveldb.options_set_compression(self, int)
127
- end
128
-
129
- # @param [FFI::Pointer(*Filterpolicy)] filterpolicy
130
- # @return [nil]
131
- def set_filter_policy(filterpolicy)
132
- Leveldb.options_set_filter_policy(self, filterpolicy)
133
- end
134
-
135
- # @param [FFI::Pointer(*Env)] env
136
- # @return [nil]
137
- def set_env(env)
138
- Leveldb.options_set_env(self, env)
139
- end
140
-
141
- # @param [FFI::Pointer(*Cache)] cache
142
- # @return [nil]
143
- def set_cache(cache)
144
- Leveldb.options_set_cache(self, cache)
145
- end
146
-
147
- # @param [Integer] u_char
148
- # @return [nil]
149
- def set_error_if_exists(u_char)
150
- Leveldb.options_set_error_if_exists(self, u_char)
151
- end
152
-
153
- # @param [Integer] int
154
- # @return [nil]
155
- def set_block_restart_interval(int)
156
- Leveldb.options_set_block_restart_interval(self, int)
157
- end
158
-
159
- # @param [Integer] u_long
160
- # @return [nil]
161
- def set_write_buffer_size(u_long)
162
- Leveldb.options_set_write_buffer_size(self, u_long)
163
- end
164
-
165
- # @return [nil]
166
- def destroy()
167
- Leveldb.options_destroy(self)
168
- end
169
- end
170
-
171
- class Options < FFI::Struct
172
- include OptionsWrappers
173
- layout :dummy, :char
174
- end
175
-
176
- # (Not documented)
177
- module ReadoptionsWrappers
178
- # @param [Integer] u_char
179
- # @return [nil]
180
- def set_verify_checksums(u_char)
181
- Leveldb.readoptions_set_verify_checksums(self, u_char)
182
- end
183
-
184
- # @param [FFI::Pointer(*Snapshot)] snapshot
185
- # @return [nil]
186
- def set_snapshot(snapshot)
187
- Leveldb.readoptions_set_snapshot(self, snapshot)
188
- end
189
-
190
- # @param [Integer] u_char
191
- # @return [nil]
192
- def set_fill_cache(u_char)
193
- Leveldb.readoptions_set_fill_cache(self, u_char)
194
- end
195
-
196
- # @return [nil]
197
- def destroy()
198
- Leveldb.readoptions_destroy(self)
199
- end
200
- end
201
-
202
- class Readoptions < FFI::Struct
203
- include ReadoptionsWrappers
204
- layout :dummy, :char
205
- end
206
-
207
- # (Not documented)
208
- class Snapshot < FFI::Struct
209
- layout :dummy, :char
210
- end
211
-
212
- # (Not documented)
213
- module WritebatchWrappers
214
- # @return [nil]
215
- def clear()
216
- Leveldb.writebatch_clear(self)
217
- end
218
-
219
- # @param [String] key
220
- # @param [Integer] klen
221
- # @return [nil]
222
- def delete(key, klen)
223
- Leveldb.writebatch_delete(self, key, klen)
224
- end
225
-
226
- # @return [nil]
227
- def destroy()
228
- Leveldb.writebatch_destroy(self)
229
- end
230
-
231
- # @param [FFI::Pointer(*Void)] state
232
- # @param [FFI::Pointer(*)] put
233
- # @param [FFI::Pointer(*)] deleted
234
- # @return [nil]
235
- def iterate(state, put, deleted)
236
- Leveldb.writebatch_iterate(self, state, put, deleted)
237
- end
238
-
239
- # @param [String] key
240
- # @param [Integer] klen
241
- # @param [String] val
242
- # @param [Integer] vlen
243
- # @return [nil]
244
- def put(key, klen, val, vlen)
245
- Leveldb.writebatch_put(self, key, klen, val, vlen)
246
- end
247
- end
248
-
249
- class Writebatch < FFI::Struct
250
- include WritebatchWrappers
251
- layout :dummy, :char
252
- end
253
-
254
- # (Not documented)
255
- module CacheWrappers
256
- # @return [nil]
257
- def destroy()
258
- Leveldb.cache_destroy(self)
259
- end
260
- end
261
-
262
- class Cache < FFI::Struct
263
- include CacheWrappers
264
- layout :dummy, :char
265
- end
266
-
267
- # (Not documented)
268
- module FilterpolicyWrappers
269
- # @return [nil]
270
- def destroy()
271
- Leveldb.filterpolicy_destroy(self)
272
- end
273
- end
274
-
275
- class Filterpolicy < FFI::Struct
276
- include FilterpolicyWrappers
277
- layout :dummy, :char
278
- end
279
-
280
- # (Not documented)
281
- class Randomfile < FFI::Struct
282
- layout :dummy, :char
283
- end
284
-
285
- # (Not documented)
286
- class Writablefile < FFI::Struct
287
- layout :dummy, :char
288
- end
289
-
290
- # (Not documented)
291
- module EnvWrappers
292
- # @return [nil]
293
- def destroy()
294
- Leveldb.env_destroy(self)
295
- end
296
- end
297
-
298
- class Env < FFI::Struct
299
- include EnvWrappers
300
- layout :dummy, :char
301
- end
302
-
303
- # (Not documented)
304
- class Seqfile < FFI::Struct
305
- layout :dummy, :char
306
- end
307
-
308
- # (Not documented)
309
- class Logger < FFI::Struct
310
- layout :dummy, :char
311
- end
312
-
313
- # (Not documented)
314
- module WriteoptionsWrappers
315
- # @return [nil]
316
- def destroy()
317
- Leveldb.writeoptions_destroy(self)
318
- end
319
-
320
- # @param [Integer] u_char
321
- # @return [nil]
322
- def set_sync(u_char)
323
- Leveldb.writeoptions_set_sync(self, u_char)
324
- end
325
- end
326
-
327
- class Writeoptions < FFI::Struct
328
- include WriteoptionsWrappers
329
- layout :dummy, :char
330
- end
331
-
332
- ##
333
- # Writing Callbacks
334
- #
335
- ##
336
- # Writing Functions
337
- #
338
- # DB operations
339
- #
340
- # @method open(options, name, errptr)
341
- # @param [Options] options
342
- # @param [String] name
343
- # @param [FFI::Pointer(**CharS)] errptr
344
- # @return [DB]
345
- # @scope class
346
- #
347
- attach_function :open, :leveldb_open, [Options, :string, :pointer], DB.auto_ptr
348
-
349
- # (Not documented)
350
- #
351
- # @method put(db, options, key, keylen, val, vallen, errptr)
352
- # @param [DB] db
353
- # @param [Writeoptions] options
354
- # @param [String] key
355
- # @param [Integer] keylen
356
- # @param [String] val
357
- # @param [Integer] vallen
358
- # @param [FFI::Pointer(**CharS)] errptr
359
- # @return [nil]
360
- # @scope class
361
- #
362
- attach_function :put, :leveldb_put, [DB, Writeoptions, :string, :ulong, :string, :ulong, :pointer], :void
363
-
364
- alias __put put
365
- def self.put(db, wo, key, value, err)
366
- __put(db, wo, key, key.size, value, value.size, err)
367
- end
368
- def put(*args); Leveldb.put(*args); end
369
-
370
- # (Not documented)
371
- #
372
- # @method write(db, options, batch, errptr)
373
- # @param [DB] db
374
- # @param [Writeoptions] options
375
- # @param [Writebatch] batch
376
- # @param [FFI::Pointer(**CharS)] errptr
377
- # @return [nil]
378
- # @scope class
379
- #
380
- attach_function :write, :leveldb_write, [DB, Writeoptions, Writebatch, :pointer], :void
381
-
382
- # Returns NULL if not found. A malloc()ed array otherwise.
383
- # Stores the length of the array in *vallen.
384
- #
385
- # @method create_iterator(db, options)
386
- # @param [DB] db
387
- # @param [Readoptions] options
388
- # @return [Iterator]
389
- # @scope class
390
- #
391
- attach_function :create_iterator, :leveldb_create_iterator, [DB, Readoptions], Iterator.auto_ptr
392
-
393
- # (Not documented)
394
- #
395
- # @method release_snapshot(db, snapshot)
396
- # @param [DB] db
397
- # @param [Snapshot] snapshot
398
- # @return [nil]
399
- # @scope class
400
- #
401
- attach_function :release_snapshot, :leveldb_release_snapshot, [DB, Snapshot], :void
402
-
403
- # Returns NULL if property name is unknown.
404
- # Else returns a pointer to a malloc()-ed null-terminated value.
405
- #
406
- # @method approximate_sizes(db, num_ranges, range_start_key, range_start_key_len, range_limit_key, range_limit_key_len, sizes)
407
- # @param [DB] db
408
- # @param [Integer] num_ranges
409
- # @param [FFI::Pointer(**CharS)] range_start_key
410
- # @param [FFI::Pointer(*Size)] range_start_key_len
411
- # @param [FFI::Pointer(**CharS)] range_limit_key
412
- # @param [FFI::Pointer(*Size)] range_limit_key_len
413
- # @param [FFI::Pointer(*Uint64)] sizes
414
- # @return [nil]
415
- # @scope class
416
- #
417
- attach_function :approximate_sizes, :leveldb_approximate_sizes, [DB, :int, :pointer, :pointer, :pointer, :pointer, :pointer], :void
418
-
419
- # Management operations
420
- #
421
- # @method destroy_db(options, name, errptr)
422
- # @param [Options] options
423
- # @param [String] name
424
- # @param [FFI::Pointer(**CharS)] errptr
425
- # @return [nil]
426
- # @scope class
427
- #
428
- attach_function :destroy_db, :leveldb_destroy_db, [Options, :string, :pointer], :void
429
-
430
- # Iterator
431
- #
432
- # @method iter_destroy(iterator)
433
- # @param [Iterator] iterator
434
- # @return [nil]
435
- # @scope class
436
- #
437
- attach_function :iter_destroy, :leveldb_iter_destroy, [Iterator], :void
438
-
439
- # (Not documented)
440
- #
441
- # @method iter_seek_to_first(iterator)
442
- # @param [Iterator] iterator
443
- # @return [nil]
444
- # @scope class
445
- #
446
- attach_function :iter_seek_to_first, :leveldb_iter_seek_to_first, [Iterator], :void
447
-
448
- # (Not documented)
449
- #
450
- # @method iter_seek(iterator, k, klen)
451
- # @param [Iterator] iterator
452
- # @param [String] k
453
- # @param [Integer] klen
454
- # @return [nil]
455
- # @scope class
456
- #
457
- attach_function :iter_seek, :leveldb_iter_seek, [Iterator, :string, :ulong], :void
458
-
459
- # (Not documented)
460
- #
461
- # @method iter_prev(iterator)
462
- # @param [Iterator] iterator
463
- # @return [nil]
464
- # @scope class
465
- #
466
- attach_function :iter_prev, :leveldb_iter_prev, [Iterator], :void
467
-
468
- # (Not documented)
469
- #
470
- # @method iter_value(iterator, vlen)
471
- # @param [Iterator] iterator
472
- # @param [FFI::Pointer(*Size)] vlen
473
- # @return [String]
474
- # @scope class
475
- #
476
- attach_function :iter_value, :leveldb_iter_value, [Iterator, :pointer], :string
477
-
478
- # Write batch
479
- #
480
- # @method writebatch_create()
481
- # @return [Writebatch]
482
- # @scope class
483
- #
484
- attach_function :writebatch_create, :leveldb_writebatch_create, [], Writebatch.auto_ptr
485
-
486
- # (Not documented)
487
- #
488
- # @method writebatch_clear(writebatch)
489
- # @param [Writebatch] writebatch
490
- # @return [nil]
491
- # @scope class
492
- #
493
- attach_function :writebatch_clear, :leveldb_writebatch_clear, [Writebatch], :void
494
-
495
- # (Not documented)
496
- #
497
- # @method writebatch_delete(writebatch, key, klen)
498
- # @param [Writebatch] writebatch
499
- # @param [String] key
500
- # @param [Integer] klen
501
- # @return [nil]
502
- # @scope class
503
- #
504
- attach_function :writebatch_delete, :leveldb_writebatch_delete, [Writebatch, :string, :ulong], :void
505
-
506
- # Options
507
- #
508
- # @method options_create()
509
- # @return [Options]
510
- # @scope class
511
- #
512
- attach_function :options_create, :leveldb_options_create, [], Options.auto_ptr
513
-
514
- # (Not documented)
515
- #
516
- # @method options_set_comparator(options, comparator)
517
- # @param [Options] options
518
- # @param [Comparator] comparator
519
- # @return [nil]
520
- # @scope class
521
- #
522
- attach_function :options_set_comparator, :leveldb_options_set_comparator, [Options, Comparator], :void
523
-
524
- # (Not documented)
525
- #
526
- # @method options_set_create_if_missing(options, u_char)
527
- # @param [Options] options
528
- # @param [Integer] u_char
529
- # @return [nil]
530
- # @scope class
531
- #
532
- attach_function :options_set_create_if_missing, :leveldb_options_set_create_if_missing, [Options, :uchar], :void
533
-
534
- # (Not documented)
535
- #
536
- # @method options_set_paranoid_checks(options, u_char)
537
- # @param [Options] options
538
- # @param [Integer] u_char
539
- # @return [nil]
540
- # @scope class
541
- #
542
- attach_function :options_set_paranoid_checks, :leveldb_options_set_paranoid_checks, [Options, :uchar], :void
543
-
544
- # (Not documented)
545
- #
546
- # @method options_set_info_log(options, logger)
547
- # @param [Options] options
548
- # @param [Logger] logger
549
- # @return [nil]
550
- # @scope class
551
- #
552
- attach_function :options_set_info_log, :leveldb_options_set_info_log, [Options, Logger], :void
553
-
554
- # (Not documented)
555
- #
556
- # @method options_set_max_open_files(options, int)
557
- # @param [Options] options
558
- # @param [Integer] int
559
- # @return [nil]
560
- # @scope class
561
- #
562
- attach_function :options_set_max_open_files, :leveldb_options_set_max_open_files, [Options, :int], :void
563
-
564
- # (Not documented)
565
- #
566
- # @method options_set_block_size(options, u_long)
567
- # @param [Options] options
568
- # @param [Integer] u_long
569
- # @return [nil]
570
- # @scope class
571
- #
572
- attach_function :options_set_block_size, :leveldb_options_set_block_size, [Options, :ulong], :void
573
-
574
- # (Not documented)
575
- #
576
- # @method options_set_compression(options, int)
577
- # @param [Options] options
578
- # @param [Integer] int
579
- # @return [nil]
580
- # @scope class
581
- #
582
- attach_function :options_set_compression, :leveldb_options_set_compression, [Options, :int], :void
583
-
584
- # Comparator
585
- #
586
- # @method comparator_destroy(comparator)
587
- # @param [Comparator] comparator
588
- # @return [nil]
589
- # @scope class
590
- #
591
- attach_function :comparator_destroy, :leveldb_comparator_destroy, [Comparator], :void
592
-
593
- # Filter policy
594
- #
595
- # @method filterpolicy_destroy(filterpolicy)
596
- # @param [Filterpolicy] filterpolicy
597
- # @return [nil]
598
- # @scope class
599
- #
600
- attach_function :filterpolicy_destroy, :leveldb_filterpolicy_destroy, [Filterpolicy], :void
601
-
602
- # Read options
603
- #
604
- # @method readoptions_create()
605
- # @return [Readoptions]
606
- # @scope class
607
- #
608
- attach_function :readoptions_create, :leveldb_readoptions_create, [], Readoptions.auto_ptr
609
-
610
- # (Not documented)
611
- #
612
- # @method readoptions_set_verify_checksums(readoptions, u_char)
613
- # @param [Readoptions] readoptions
614
- # @param [Integer] u_char
615
- # @return [nil]
616
- # @scope class
617
- #
618
- attach_function :readoptions_set_verify_checksums, :leveldb_readoptions_set_verify_checksums, [Readoptions, :uchar], :void
619
-
620
- # (Not documented)
621
- #
622
- # @method readoptions_set_snapshot(readoptions, snapshot)
623
- # @param [Readoptions] readoptions
624
- # @param [Snapshot] snapshot
625
- # @return [nil]
626
- # @scope class
627
- #
628
- attach_function :readoptions_set_snapshot, :leveldb_readoptions_set_snapshot, [Readoptions, Snapshot], :void
629
-
630
- # Write options
631
- #
632
- # @method writeoptions_destroy(writeoptions)
633
- # @param [Writeoptions] writeoptions
634
- # @return [nil]
635
- # @scope class
636
- #
637
- attach_function :writeoptions_destroy, :leveldb_writeoptions_destroy, [Writeoptions], :void
638
-
639
- # Cache
640
- #
641
- # @method cache_create_lru(capacity)
642
- # @param [Integer] capacity
643
- # @return [Cache]
644
- # @scope class
645
- #
646
- attach_function :cache_create_lru, :leveldb_cache_create_lru, [:ulong], Cache.auto_ptr
647
-
648
- # Env
649
- #
650
- # @method create_default_env()
651
- # @return [Env]
652
- # @scope class
653
- #
654
- attach_function :create_default_env, :leveldb_create_default_env, [], Env.auto_ptr
655
-
656
- # Calls free(ptr).
657
- # REQUIRES: ptr was malloc()-ed and returned by one of the routines
658
- # in this file. Note that in certain cases (typically on Windows), you
659
- # may need to call this routine instead of free(ptr) to dispose of
660
- # malloc()-ed memory returned by this library.
661
- #
662
- # @method free(ptr)
663
- # @param [FFI::Pointer(*Void)] ptr
664
- # @return [nil]
665
- # @scope class
666
- #
667
- attach_function :free, :leveldb_free, [:pointer], :void
668
-
669
- # Return the minor version number for this release.
670
- #
671
- # @method minor_version()
672
- # @return [Integer]
673
- # @scope class
674
- #
675
- attach_function :minor_version, :leveldb_minor_version, [], :int
676
-
677
- # (Not documented)
678
- #
679
- # @method close(db)
680
- # @param [DB] db
681
- # @return [nil]
682
- # @scope class
683
- #
684
- attach_function :close, :leveldb_close, [DB], :void
685
-
686
- # Returns NULL if not found. A malloc()ed array otherwise.
687
- # Stores the length of the array in *vallen.
688
- #
689
- # @method get(db, options, key, keylen, vallen, errptr)
690
- # @param [DB] db
691
- # @param [Readoptions] options
692
- # @param [String] key
693
- # @param [Integer] keylen
694
- # @param [FFI::Pointer(*Size)] vallen
695
- # @param [FFI::Pointer(**CharS)] errptr
696
- # @return [String]
697
- # @scope class
698
- #
699
- attach_function :get, :leveldb_get, [DB, Readoptions, :string, :ulong, :pointer, :pointer], :string
700
-
701
- # Returns NULL if property name is unknown.
702
- # Else returns a pointer to a malloc()-ed null-terminated value.
703
- #
704
- # @method property_value(db, propname)
705
- # @param [DB] db
706
- # @param [String] propname
707
- # @return [String]
708
- # @scope class
709
- #
710
- attach_function :property_value, :leveldb_property_value, [DB, :string], :string
711
-
712
- # Management operations
713
- #
714
- # @method repair_db(options, name, errptr)
715
- # @param [Options] options
716
- # @param [String] name
717
- # @param [FFI::Pointer(**CharS)] errptr
718
- # @return [nil]
719
- # @scope class
720
- #
721
- attach_function :repair_db, :leveldb_repair_db, [Options, :string, :pointer], :void
722
-
723
- # Iterator
724
- #
725
- # @method iter_seek_to_last(iterator)
726
- # @param [Iterator] iterator
727
- # @return [nil]
728
- # @scope class
729
- #
730
- attach_function :iter_seek_to_last, :leveldb_iter_seek_to_last, [Iterator], :void
731
-
732
- # (Not documented)
733
- #
734
- # @method iter_key(iterator, klen)
735
- # @param [Iterator] iterator
736
- # @param [FFI::Pointer(*Size)] klen
737
- # @return [String]
738
- # @scope class
739
- #
740
- attach_function :iter_key, :leveldb_iter_key, [Iterator, :pointer], :string
741
-
742
- # Write batch
743
- #
744
- # @method writebatch_destroy(writebatch)
745
- # @param [Writebatch] writebatch
746
- # @return [nil]
747
- # @scope class
748
- #
749
- attach_function :writebatch_destroy, :leveldb_writebatch_destroy, [Writebatch], :void
750
-
751
- # (Not documented)
752
- #
753
- # @method writebatch_iterate(writebatch, state, put, deleted)
754
- # @param [Writebatch] writebatch
755
- # @param [FFI::Pointer(*Void)] state
756
- # @param [FFI::Pointer(*)] put
757
- # @param [FFI::Pointer(*)] deleted
758
- # @return [nil]
759
- # @scope class
760
- #
761
- attach_function :writebatch_iterate, :leveldb_writebatch_iterate, [Writebatch, :pointer, :pointer, :pointer], :void
762
-
763
- # Options
764
- #
765
- # @method options_set_filter_policy(options, filterpolicy)
766
- # @param [Options] options
767
- # @param [Filterpolicy] filterpolicy
768
- # @return [nil]
769
- # @scope class
770
- #
771
- attach_function :options_set_filter_policy, :leveldb_options_set_filter_policy, [Options, Filterpolicy], :void
772
-
773
- # (Not documented)
774
- #
775
- # @method options_set_env(options, env)
776
- # @param [Options] options
777
- # @param [Env] env
778
- # @return [nil]
779
- # @scope class
780
- #
781
- attach_function :options_set_env, :leveldb_options_set_env, [Options, Env], :void
782
-
783
- # (Not documented)
784
- #
785
- # @method options_set_cache(options, cache)
786
- # @param [Options] options
787
- # @param [Cache] cache
788
- # @return [nil]
789
- # @scope class
790
- #
791
- attach_function :options_set_cache, :leveldb_options_set_cache, [Options, Cache], :void
792
-
793
- # Comparator
794
- #
795
- # @method comparator_create(state, destructor, compare, name)
796
- # @param [FFI::Pointer(*Void)] state
797
- # @param [FFI::Pointer(*)] destructor
798
- # @param [FFI::Pointer(*)] compare
799
- # @param [FFI::Pointer(*)] name
800
- # @return [Comparator]
801
- # @scope class
802
- #
803
- attach_function :comparator_create, :leveldb_comparator_create, [:pointer, :pointer, :pointer, :pointer], Comparator.auto_ptr
804
-
805
- # Filter policy
806
- #
807
- # @method filterpolicy_create_bloom(bits_per_key)
808
- # @param [Integer] bits_per_key
809
- # @return [Filterpolicy]
810
- # @scope class
811
- #
812
- attach_function :filterpolicy_create_bloom, :leveldb_filterpolicy_create_bloom, [:int], Filterpolicy.auto_ptr
813
-
814
- # Read options
815
- #
816
- # @method readoptions_set_fill_cache(readoptions, u_char)
817
- # @param [Readoptions] readoptions
818
- # @param [Integer] u_char
819
- # @return [nil]
820
- # @scope class
821
- #
822
- attach_function :readoptions_set_fill_cache, :leveldb_readoptions_set_fill_cache, [Readoptions, :uchar], :void
823
-
824
- # Write options
825
- #
826
- # @method writeoptions_set_sync(writeoptions, u_char)
827
- # @param [Writeoptions] writeoptions
828
- # @param [Integer] u_char
829
- # @return [nil]
830
- # @scope class
831
- #
832
- attach_function :writeoptions_set_sync, :leveldb_writeoptions_set_sync, [Writeoptions, :uchar], :void
833
-
834
- # Env
835
- #
836
- # @method env_destroy(env)
837
- # @param [Env] env
838
- # @return [nil]
839
- # @scope class
840
- #
841
- attach_function :env_destroy, :leveldb_env_destroy, [Env], :void
842
-
843
- # (Not documented)
844
- #
845
- # @method delete(db, options, key, keylen, errptr)
846
- # @param [DB] db
847
- # @param [Writeoptions] options
848
- # @param [String] key
849
- # @param [Integer] keylen
850
- # @param [FFI::Pointer(**CharS)] errptr
851
- # @return [nil]
852
- # @scope class
853
- #
854
- attach_function :delete, :leveldb_delete, [DB, Writeoptions, :string, :ulong, :pointer], :void
855
-
856
- # Returns NULL if property name is unknown.
857
- # Else returns a pointer to a malloc()-ed null-terminated value.
858
- #
859
- # @method compact_range(db, start_key, start_key_len, limit_key, limit_key_len)
860
- # @param [DB] db
861
- # @param [String] start_key
862
- # @param [Integer] start_key_len
863
- # @param [String] limit_key
864
- # @param [Integer] limit_key_len
865
- # @return [nil]
866
- # @scope class
867
- #
868
- attach_function :compact_range, :leveldb_compact_range, [DB, :string, :ulong, :string, :ulong], :void
869
-
870
- # Iterator
871
- #
872
- # @method iter_next(iterator)
873
- # @param [Iterator] iterator
874
- # @return [nil]
875
- # @scope class
876
- #
877
- attach_function :iter_next, :leveldb_iter_next, [Iterator], :void
878
-
879
- # Write batch
880
- #
881
- # @method writebatch_put(writebatch, key, klen, val, vlen)
882
- # @param [Writebatch] writebatch
883
- # @param [String] key
884
- # @param [Integer] klen
885
- # @param [String] val
886
- # @param [Integer] vlen
887
- # @return [nil]
888
- # @scope class
889
- #
890
- attach_function :writebatch_put, :leveldb_writebatch_put, [Writebatch, :string, :ulong, :string, :ulong], :void
891
-
892
- # Options
893
- #
894
- # @method options_set_error_if_exists(options, u_char)
895
- # @param [Options] options
896
- # @param [Integer] u_char
897
- # @return [nil]
898
- # @scope class
899
- #
900
- attach_function :options_set_error_if_exists, :leveldb_options_set_error_if_exists, [Options, :uchar], :void
901
-
902
- # (Not documented)
903
- #
904
- # @method options_set_block_restart_interval(options, int)
905
- # @param [Options] options
906
- # @param [Integer] int
907
- # @return [nil]
908
- # @scope class
909
- #
910
- attach_function :options_set_block_restart_interval, :leveldb_options_set_block_restart_interval, [Options, :int], :void
911
-
912
- # Read options
913
- #
914
- # @method readoptions_destroy(readoptions)
915
- # @param [Readoptions] readoptions
916
- # @return [nil]
917
- # @scope class
918
- #
919
- attach_function :readoptions_destroy, :leveldb_readoptions_destroy, [Readoptions], :void
920
-
921
- # Cache
922
- #
923
- # @method cache_destroy(cache)
924
- # @param [Cache] cache
925
- # @return [nil]
926
- # @scope class
927
- #
928
- attach_function :cache_destroy, :leveldb_cache_destroy, [Cache], :void
929
-
930
- # (Not documented)
931
- #
932
- # @method create_snapshot(db)
933
- # @param [DB] db
934
- # @return [Snapshot]
935
- # @scope class
936
- #
937
- attach_function :create_snapshot, :leveldb_create_snapshot, [DB], Snapshot.auto_ptr
938
-
939
- # Iterator
940
- #
941
- # @method iter_get_error(iterator, errptr)
942
- # @param [Iterator] iterator
943
- # @param [FFI::Pointer(**CharS)] errptr
944
- # @return [nil]
945
- # @scope class
946
- #
947
- attach_function :iter_get_error, :leveldb_iter_get_error, [Iterator, :pointer], :void
948
-
949
- # Options
950
- #
951
- # @method options_set_write_buffer_size(options, u_long)
952
- # @param [Options] options
953
- # @param [Integer] u_long
954
- # @return [nil]
955
- # @scope class
956
- #
957
- attach_function :options_set_write_buffer_size, :leveldb_options_set_write_buffer_size, [Options, :ulong], :void
958
-
959
- # Write options
960
- #
961
- # @method writeoptions_create()
962
- # @return [Writeoptions]
963
- # @scope class
964
- #
965
- attach_function :writeoptions_create, :leveldb_writeoptions_create, [], Writeoptions.auto_ptr
966
-
967
- # (Not documented)
968
- #
969
- # @method iter_valid(iterator)
970
- # @param [Iterator] iterator
971
- # @return [Integer]
972
- # @scope class
973
- #
974
- attach_function :iter_valid, :leveldb_iter_valid, [Iterator], :uchar
975
-
976
- # Filter policy
977
- #
978
- # @method filterpolicy_create(state, destructor, create_filter, key_may_match, name)
979
- # @param [FFI::Pointer(*Void)] state
980
- # @param [FFI::Pointer(*)] destructor
981
- # @param [FFI::Pointer(*)] create_filter
982
- # @param [FFI::Pointer(*)] key_may_match
983
- # @param [FFI::Pointer(*)] name
984
- # @return [Filterpolicy]
985
- # @scope class
986
- #
987
- attach_function :filterpolicy_create, :leveldb_filterpolicy_create, [:pointer, :pointer, :pointer, :pointer, :pointer], Filterpolicy.auto_ptr
988
-
989
- # (Not documented)
990
- #
991
- # @method options_destroy(options)
992
- # @param [Options] options
993
- # @return [nil]
994
- # @scope class
995
- #
996
- attach_function :options_destroy, :leveldb_options_destroy, [Options], :void
997
-
998
- # Return the major version number for this release.
999
- #
1000
- # @method major_version()
1001
- # @return [Integer]
1002
- # @scope class
1003
- #
1004
- attach_function :major_version, :leveldb_major_version, [], :int
1
+ require 'native'
2
+ require 'leveldb/db'
1005
3
 
4
+ module LevelDB
5
+ C = Native
1006
6
  end