nn-core 0.1.6 → 0.2.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.
- checksums.yaml +7 -0
- data/History.txt +9 -0
- data/lib/nn-core/constants.rb +21 -83
- data/lib/nn-core/libnanomsg.rb +17 -32
- data/lib/nn-core/version.rb +1 -1
- data/spec/nn_symbol_spec.rb +24 -0
- data/spec/nn_term_spec.rb +35 -0
- data/spec/spec_helper.rb +1 -3
- metadata +64 -108
- data/spec/nn_version_spec.rb +0 -23
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: aec634c40b00d3f8dc8301ee40777c9943d069d6
|
4
|
+
data.tar.gz: 23b6f3ea3d5327711e0f1ba2ec971f9f904d4d2f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 171ba1be554febe2101e3253094c722e9124f1da03b870427a7e062b470ab1f9eb955f22e0387e1081bb9ef9ef7fed402321de1172b068213276455a40d753ea
|
7
|
+
data.tar.gz: 7e969d818f3044048f9721250cb15a9cc5c1682cefbea62e322f7e3f31b2f04bbc3192611a475aec0b0390c95c4bc7c67e3e21ac3117006fb7d3bc24dd62af77
|
data/History.txt
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
20130327 / 0.2.0
|
2
|
+
* Support nn_symbol function for setting up all constants in the binding.
|
3
|
+
|
4
|
+
* Remove support for nn_version function.
|
5
|
+
|
6
|
+
* Change #attach_function calls to use options hash for :blocking => true.
|
7
|
+
This is cleaner and less noisy than all of the "@blocking = true" lines
|
8
|
+
before the #attach_function call.
|
9
|
+
|
1
10
|
20130220 / 0.1.6
|
2
11
|
* Several fixes for tcp string handling have made it to nanomsg trunk,
|
3
12
|
so I can now re-enable those specs.
|
data/lib/nn-core/constants.rb
CHANGED
@@ -1,88 +1,26 @@
|
|
1
1
|
module NNCore
|
2
|
-
NN_HAUSNUMERO = 156384712
|
3
2
|
|
4
|
-
#
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
#
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
#
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
NN_FANIN_ID = 4
|
26
|
-
NN_SOURCE = (NN_FANIN_ID * 16 + 0)
|
27
|
-
NN_SINK = (NN_FANIN_ID * 16 + 1)
|
28
|
-
NN_FANOUT_ID = 5
|
29
|
-
NN_PUSH = (NN_FANOUT_ID * 16 + 0)
|
30
|
-
NN_PULL = (NN_FANOUT_ID * 16 + 1)
|
31
|
-
|
32
|
-
NN_SURVEY_ID = 6
|
33
|
-
NN_SURVEYOR = (NN_SURVEY_ID * 16 + 0)
|
34
|
-
NN_RESPONDENT = (NN_SURVEY_ID * 16 + 1)
|
3
|
+
# To simplify management of constants in language bindings that cannot
|
4
|
+
# parse or directly utilize a C header file, the library provides the
|
5
|
+
# nn_symbol function. This function returns a string and an integer
|
6
|
+
# value so that bindings authors can easily setup all constants and
|
7
|
+
# their values without worrying about copy/paste or transcription
|
8
|
+
# errors every time the underlying library is changed.
|
9
|
+
#
|
10
|
+
# For documentation on all possible constants, please refer to the
|
11
|
+
# man pages at nanomsg.org
|
12
|
+
#
|
13
|
+
index = 0
|
14
|
+
while true
|
15
|
+
value = FFI::MemoryPointer.new(:int)
|
16
|
+
|
17
|
+
constant_string = LibNanomsg.nn_symbol(index, value)
|
18
|
+
break if constant_string.nil?
|
19
|
+
|
20
|
+
const_set(constant_string, value.read_int)
|
21
|
+
index += 1
|
22
|
+
end
|
35
23
|
|
36
|
-
|
37
|
-
NN_BUS = (NN_BUS_ID * 16 + 0)
|
38
|
-
|
39
|
-
# Socket Option Levels (SOL)
|
40
|
-
NN_SOL_SOCKET = 0
|
41
|
-
|
42
|
-
# Socket options
|
43
|
-
NN_LINGER = 1
|
44
|
-
NN_SNDBUF = 2
|
45
|
-
NN_RCVBUF = 3
|
46
|
-
NN_SNDTIMEO = 4
|
47
|
-
NN_RCVTIMEO = 5
|
48
|
-
NN_RECONNECT_IVL = 6
|
49
|
-
NN_RECONNECT_IVL_MAX = 7
|
50
|
-
NN_SNDPRIO = 8
|
51
|
-
#NN_SNDFD = 10
|
52
|
-
#NN_RCVFD = 11
|
53
|
-
|
54
|
-
# Send/recv options
|
55
|
-
NN_DONTWAIT = 1
|
24
|
+
# This constant is not exported by nn_symbol. It is also of type size_t.
|
56
25
|
NN_MSG = -1
|
57
|
-
|
58
|
-
# Socket errors
|
59
|
-
ENOTSUP = Errno::ENOTSUP::Errno rescue NN_HAUSNUMERO + 1
|
60
|
-
EPROTONOSUPPORT = Errno::EPROTONOSUPPORT::Errno rescue NN_HAUSNUMERO + 2
|
61
|
-
ENOBUFS = Errno::ENOBUFS::Errno rescue NN_HAUSNUMERO + 3
|
62
|
-
ENETDOWN = Errno::ENETDOWN::Errnow rescue NN_HAUSNUMERO + 4
|
63
|
-
EADDRINUSE = Errno::EADDRINUSE::Errno rescue NN_HAUSNUMERO + 5
|
64
|
-
EADDRNOTAVAIL = Errno::EADDRNOTAVAIL::Errno rescue NN_HAUSNUMERO + 6
|
65
|
-
ECONNREFUSED = Errno::ECONNREFUSED::Errno rescue NN_HAUSNUMERO + 7
|
66
|
-
EINPROGRESS = Errno::EINPROGRESS::Errno rescue NN_HAUSNUMERO + 8
|
67
|
-
ENOTSOCK = Errno::ENOTSOCK::Errno rescue NN_HAUSNUMERO + 9
|
68
|
-
EAFNOSUPPORT = Errno::EAFNOSUPPORT::Errno rescue NN_HAUSNUMERO + 10
|
69
|
-
EPROTO = Errno::EPROTO::Errno rescue NN_HAUSNUMERO + 11
|
70
|
-
|
71
|
-
ETIMEDOUT = Errno::ETIMEDOUT::Errno
|
72
|
-
EAGAIN = Errno::EAGAIN::Errno
|
73
|
-
EINVAL = Errno::EINVAL::Errno
|
74
|
-
ENOMEM = Errno::ENOMEM::Errno
|
75
|
-
ENODEV = Errno::ENODEV::Errno
|
76
|
-
EFAULT = Errno::EFAULT::Errno
|
77
|
-
# EINTR = Errno::EINTR::Errno
|
78
|
-
EBADF = Errno::EBADF::Errno
|
79
|
-
ENOPROTOOPT = Errno::ENOPROTOOPT::Errno
|
80
|
-
ENAMETOOLONG = Errno::ENAMETOOLONG::Errno
|
81
|
-
|
82
|
-
# Library errors
|
83
|
-
ETERM = Errno::ETERM::Errno rescue NN_HAUSNUMERO + 53
|
84
|
-
EFSM = Errno::EFSM::Errno rescue NN_HAUSNUMERO + 54
|
85
|
-
|
86
|
-
# Miscellaneous
|
87
|
-
NN_SOCKADDR_MAX = 128
|
88
26
|
end
|
data/lib/nn-core/libnanomsg.rb
CHANGED
@@ -33,41 +33,26 @@ module NNCore
|
|
33
33
|
# Size_t not working properly on Windows
|
34
34
|
find_type(:size_t) rescue typedef(:ulong, :size_t)
|
35
35
|
|
36
|
-
|
37
|
-
attach_function :nn_version, [:pointer, :pointer, :pointer], :int
|
36
|
+
attach_function :nn_symbol, [:int, :pointer], :string, :blocking => true
|
38
37
|
|
39
|
-
|
40
|
-
attach_function :
|
41
|
-
|
42
|
-
attach_function :
|
43
|
-
@blocking = true
|
44
|
-
attach_function :nn_socket, [:int, :int], :int
|
45
|
-
@blocking = true
|
46
|
-
attach_function :nn_close, [:int], :int
|
38
|
+
attach_function :nn_errno, [], :int, :blocking => true
|
39
|
+
attach_function :nn_strerror, [:int], :string, :blocking => true
|
40
|
+
attach_function :nn_socket, [:int, :int], :int, :blocking => true
|
41
|
+
attach_function :nn_close, [:int], :int, :blocking => true
|
47
42
|
|
48
|
-
|
49
|
-
attach_function :
|
50
|
-
|
51
|
-
attach_function :
|
52
|
-
|
53
|
-
attach_function :
|
54
|
-
|
55
|
-
attach_function :
|
56
|
-
@blocking = true
|
57
|
-
attach_function :nn_shutdown, [:int, :int], :int
|
58
|
-
@blocking = true
|
59
|
-
attach_function :nn_send, [:int, :pointer, :size_t, :int], :int
|
60
|
-
@blocking = true
|
61
|
-
attach_function :nn_recv, [:int, :pointer, :size_t, :int], :int
|
43
|
+
attach_function :nn_getsockopt, [:int, :int, :int, :pointer, :pointer], :int, :blocking => true
|
44
|
+
attach_function :nn_setsockopt, [:int, :int, :int, :pointer, :size_t], :int, :blocking => true
|
45
|
+
attach_function :nn_bind, [:int, :string], :int, :blocking => true
|
46
|
+
attach_function :nn_connect, [:int, :string], :int, :blocking => true
|
47
|
+
attach_function :nn_shutdown, [:int, :int], :int, :blocking => true
|
48
|
+
attach_function :nn_send, [:int, :pointer, :size_t, :int], :int, :blocking => true
|
49
|
+
attach_function :nn_recv, [:int, :pointer, :size_t, :int], :int, :blocking => true
|
50
|
+
attach_function :nn_term, [], :void, :blocking => true
|
62
51
|
|
63
52
|
# functions for working with raw buffers
|
64
|
-
|
65
|
-
attach_function :
|
66
|
-
|
67
|
-
attach_function :
|
68
|
-
@blocking = true
|
69
|
-
attach_function :nn_allocmsg, [:size_t, :int], :pointer
|
70
|
-
@blocking = true
|
71
|
-
attach_function :nn_freemsg, [:pointer], :int
|
53
|
+
attach_function :nn_sendmsg, [:int, :pointer, :int], :int, :blocking => true
|
54
|
+
attach_function :nn_recvmsg, [:int, :pointer, :int], :int, :blocking => true
|
55
|
+
attach_function :nn_allocmsg, [:size_t, :int], :pointer, :blocking => true
|
56
|
+
attach_function :nn_freemsg, [:pointer], :int, :blocking => true
|
72
57
|
end
|
73
58
|
end
|
data/lib/nn-core/version.rb
CHANGED
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module NNCore
|
4
|
+
describe "nn_symbol" do
|
5
|
+
|
6
|
+
context "given an initialized library" do
|
7
|
+
|
8
|
+
it "returns a string constant given an index of 0" do
|
9
|
+
value = FFI::MemoryPointer.new(:int)
|
10
|
+
|
11
|
+
constant_string = LibNanomsg.nn_symbol(0, value)
|
12
|
+
constant_string.should be_a(String)
|
13
|
+
end
|
14
|
+
|
15
|
+
it "returns an integer value in the second parameter given an index of 0" do
|
16
|
+
value = FFI::MemoryPointer.new(:int)
|
17
|
+
|
18
|
+
constant_string = LibNanomsg.nn_symbol(0, value)
|
19
|
+
value.read_int.should >= 0
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module NNCore
|
4
|
+
describe "nn_term" do
|
5
|
+
|
6
|
+
context "given an initialized library and" do
|
7
|
+
|
8
|
+
context "given a valid socket" do
|
9
|
+
before(:each) do
|
10
|
+
@socket = LibNanomsg.nn_socket(AF_SP, NN_PUB)
|
11
|
+
end
|
12
|
+
|
13
|
+
after(:each) do
|
14
|
+
LibNanomsg.nn_close(@socket)
|
15
|
+
end
|
16
|
+
|
17
|
+
it "makes subsequent calls to nn_send fail with ETERM" do
|
18
|
+
LibNanomsg.nn_term
|
19
|
+
rc = LibNanomsg.nn_send(0, "ABC", 3, 0)
|
20
|
+
rc.should == -1
|
21
|
+
LibNanomsg.nn_errno.should == ETERM
|
22
|
+
end
|
23
|
+
|
24
|
+
# it "makes subsequent calls to nn_recv fail with ETERM" do
|
25
|
+
# LibNanomsg.nn_term
|
26
|
+
# buffer = FFI::MemoryPointer.new(:pointer)
|
27
|
+
# rc = LibNanomsg.nn_recv(@socket, buffer, NN_MSG, 0)
|
28
|
+
# rc.should == -1
|
29
|
+
# LibNanomsg.nn_errno.should == ETERM
|
30
|
+
# end
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -20,8 +20,6 @@ module NNCore
|
|
20
20
|
:NN_PAIR => NN_PAIR,
|
21
21
|
:NN_REQ => NN_REQ,
|
22
22
|
:NN_REP => NN_REP,
|
23
|
-
:NN_SOURCE => NN_SOURCE,
|
24
|
-
:NN_SINK => NN_SINK,
|
25
23
|
:NN_PUSH => NN_PUSH,
|
26
24
|
:NN_PULL => NN_PULL,
|
27
25
|
:NN_SURVEYOR => NN_SURVEYOR,
|
@@ -35,5 +33,5 @@ module NNCore
|
|
35
33
|
|
36
34
|
# Some protocols support the AF_SP_RAW address family, so we need to skip those
|
37
35
|
# tests that are expecting a failure.
|
38
|
-
RAW_UNSUPPORTED = [
|
36
|
+
RAW_UNSUPPORTED = []
|
39
37
|
end
|
metadata
CHANGED
@@ -1,170 +1,126 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nn-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
5
|
-
prerelease:
|
4
|
+
version: 0.2.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Chuck Remes
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-03-19 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
|
-
|
14
|
+
name: ffi
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
|
-
none: false
|
21
20
|
type: :runtime
|
22
|
-
name: ffi
|
23
21
|
prerelease: false
|
24
|
-
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
23
|
requirements:
|
26
|
-
- -
|
24
|
+
- - ">="
|
27
25
|
- !ruby/object:Gem::Version
|
28
26
|
version: '0'
|
29
|
-
none: false
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
|
-
|
28
|
+
name: rspec
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
32
30
|
requirements:
|
33
|
-
- - ~>
|
31
|
+
- - "~>"
|
34
32
|
- !ruby/object:Gem::Version
|
35
33
|
version: '2.6'
|
36
|
-
none: false
|
37
34
|
type: :development
|
38
|
-
name: rspec
|
39
35
|
prerelease: false
|
40
|
-
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
37
|
requirements:
|
42
|
-
- - ~>
|
38
|
+
- - "~>"
|
43
39
|
- !ruby/object:Gem::Version
|
44
40
|
version: '2.6'
|
45
|
-
none: false
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
|
-
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
48
44
|
requirements:
|
49
|
-
- -
|
45
|
+
- - ">="
|
50
46
|
- !ruby/object:Gem::Version
|
51
47
|
version: '0'
|
52
|
-
none: false
|
53
48
|
type: :development
|
54
|
-
name: rake
|
55
49
|
prerelease: false
|
56
|
-
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
51
|
requirements:
|
58
|
-
- -
|
52
|
+
- - ">="
|
59
53
|
- !ruby/object:Gem::Version
|
60
54
|
version: '0'
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
use this gem
|
66
|
-
|
67
|
-
to build an API using Ruby idioms.'
|
55
|
+
description: |-
|
56
|
+
Wraps the nanomsg networking library using the ruby FFI (foreign
|
57
|
+
function interface). It only exposes the native C API to Ruby. Other gems should use this gem
|
58
|
+
to build an API using Ruby idioms.
|
68
59
|
email:
|
69
60
|
- git@chuckremes.com
|
70
61
|
executables: []
|
71
62
|
extensions: []
|
72
63
|
extra_rdoc_files: []
|
73
64
|
files:
|
74
|
-
-
|
75
|
-
|
76
|
-
-
|
77
|
-
|
78
|
-
-
|
79
|
-
|
80
|
-
-
|
81
|
-
|
82
|
-
-
|
83
|
-
|
84
|
-
-
|
85
|
-
|
86
|
-
-
|
87
|
-
|
88
|
-
-
|
89
|
-
|
90
|
-
-
|
91
|
-
|
92
|
-
-
|
93
|
-
|
94
|
-
-
|
95
|
-
|
96
|
-
-
|
97
|
-
|
98
|
-
-
|
99
|
-
|
100
|
-
- !binary |-
|
101
|
-
bm4tY29yZS5nZW1zcGVj
|
102
|
-
- !binary |-
|
103
|
-
c3BlYy9ubl9iaW5kX3NwZWMucmI=
|
104
|
-
- !binary |-
|
105
|
-
c3BlYy9ubl9jbG9zZV9zcGVjLnJi
|
106
|
-
- !binary |-
|
107
|
-
c3BlYy9ubl9jb25uZWN0X3NwZWMucmI=
|
108
|
-
- !binary |-
|
109
|
-
c3BlYy9ubl9nZXRzb2Nrb3B0X3NwZWMucmI=
|
110
|
-
- !binary |-
|
111
|
-
c3BlYy9ubl9yZWN2X3NwZWMucmI=
|
112
|
-
- !binary |-
|
113
|
-
c3BlYy9ubl9zZW5kX3NwZWMucmI=
|
114
|
-
- !binary |-
|
115
|
-
c3BlYy9ubl9zZXRzb2Nrb3B0X3NwZWMucmI=
|
116
|
-
- !binary |-
|
117
|
-
c3BlYy9ubl9zaHV0ZG93bl9zcGVjLnJi
|
118
|
-
- !binary |-
|
119
|
-
c3BlYy9ubl9zb2NrZXRfc3BlYy5yYg==
|
120
|
-
- !binary |-
|
121
|
-
c3BlYy9ubl92ZXJzaW9uX3NwZWMucmI=
|
122
|
-
- !binary |-
|
123
|
-
c3BlYy9zcGVjX2hlbHBlci5yYg==
|
65
|
+
- ".gitignore"
|
66
|
+
- ".rspec"
|
67
|
+
- Authors.txt
|
68
|
+
- Gemfile
|
69
|
+
- History.txt
|
70
|
+
- README.md
|
71
|
+
- Rakefile
|
72
|
+
- examples/roundtrip_latency.rb
|
73
|
+
- lib/nn-core.rb
|
74
|
+
- lib/nn-core/constants.rb
|
75
|
+
- lib/nn-core/libnanomsg.rb
|
76
|
+
- lib/nn-core/structs.rb
|
77
|
+
- lib/nn-core/version.rb
|
78
|
+
- nn-core.gemspec
|
79
|
+
- spec/nn_bind_spec.rb
|
80
|
+
- spec/nn_close_spec.rb
|
81
|
+
- spec/nn_connect_spec.rb
|
82
|
+
- spec/nn_getsockopt_spec.rb
|
83
|
+
- spec/nn_recv_spec.rb
|
84
|
+
- spec/nn_send_spec.rb
|
85
|
+
- spec/nn_setsockopt_spec.rb
|
86
|
+
- spec/nn_shutdown_spec.rb
|
87
|
+
- spec/nn_socket_spec.rb
|
88
|
+
- spec/nn_symbol_spec.rb
|
89
|
+
- spec/nn_term_spec.rb
|
90
|
+
- spec/spec_helper.rb
|
124
91
|
homepage: http://github.com/chuckremes/nn-core
|
125
92
|
licenses: []
|
93
|
+
metadata: {}
|
126
94
|
post_install_message:
|
127
95
|
rdoc_options: []
|
128
96
|
require_paths:
|
129
97
|
- lib
|
130
98
|
required_ruby_version: !ruby/object:Gem::Requirement
|
131
99
|
requirements:
|
132
|
-
- -
|
100
|
+
- - ">="
|
133
101
|
- !ruby/object:Gem::Version
|
134
102
|
version: '0'
|
135
|
-
none: false
|
136
103
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
104
|
requirements:
|
138
|
-
- -
|
105
|
+
- - ">="
|
139
106
|
- !ruby/object:Gem::Version
|
140
107
|
version: '0'
|
141
|
-
none: false
|
142
108
|
requirements: []
|
143
109
|
rubyforge_project: nn-core
|
144
|
-
rubygems_version:
|
110
|
+
rubygems_version: 2.2.0
|
145
111
|
signing_key:
|
146
|
-
specification_version:
|
112
|
+
specification_version: 4
|
147
113
|
summary: Wraps the nanomsg networking library using Ruby FFI (foreign function interface).
|
148
114
|
test_files:
|
149
|
-
-
|
150
|
-
|
151
|
-
-
|
152
|
-
|
153
|
-
-
|
154
|
-
|
155
|
-
-
|
156
|
-
|
157
|
-
-
|
158
|
-
|
159
|
-
-
|
160
|
-
|
161
|
-
- !binary |-
|
162
|
-
c3BlYy9ubl9zZXRzb2Nrb3B0X3NwZWMucmI=
|
163
|
-
- !binary |-
|
164
|
-
c3BlYy9ubl9zaHV0ZG93bl9zcGVjLnJi
|
165
|
-
- !binary |-
|
166
|
-
c3BlYy9ubl9zb2NrZXRfc3BlYy5yYg==
|
167
|
-
- !binary |-
|
168
|
-
c3BlYy9ubl92ZXJzaW9uX3NwZWMucmI=
|
169
|
-
- !binary |-
|
170
|
-
c3BlYy9zcGVjX2hlbHBlci5yYg==
|
115
|
+
- spec/nn_bind_spec.rb
|
116
|
+
- spec/nn_close_spec.rb
|
117
|
+
- spec/nn_connect_spec.rb
|
118
|
+
- spec/nn_getsockopt_spec.rb
|
119
|
+
- spec/nn_recv_spec.rb
|
120
|
+
- spec/nn_send_spec.rb
|
121
|
+
- spec/nn_setsockopt_spec.rb
|
122
|
+
- spec/nn_shutdown_spec.rb
|
123
|
+
- spec/nn_socket_spec.rb
|
124
|
+
- spec/nn_symbol_spec.rb
|
125
|
+
- spec/nn_term_spec.rb
|
126
|
+
- spec/spec_helper.rb
|
data/spec/nn_version_spec.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module NNCore
|
4
|
-
describe "nn_version" do
|
5
|
-
|
6
|
-
context "given an initialized library" do
|
7
|
-
|
8
|
-
it "returns 0 and populates the pointers with the major, minor and patch version numbers" do
|
9
|
-
major = FFI::MemoryPointer.new(:int)
|
10
|
-
minor = FFI::MemoryPointer.new(:int)
|
11
|
-
patch = FFI::MemoryPointer.new(:int)
|
12
|
-
|
13
|
-
# there is no return value for this function
|
14
|
-
LibNanomsg.nn_version(major, minor, patch)
|
15
|
-
|
16
|
-
major.read_int.should >= 0
|
17
|
-
minor.read_int.should >= 0
|
18
|
-
patch.read_int.should >= 0
|
19
|
-
end
|
20
|
-
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|