nng-ruby 0.1.2 → 1.0.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.
data/Rakefile CHANGED
@@ -1,22 +1,22 @@
1
- # frozen_string_literal: true
2
-
3
- require 'bundler/gem_tasks'
4
- require 'rspec/core/rake_task'
5
-
6
- RSpec::Core::RakeTask.new(:spec)
7
-
8
- task default: :spec
9
-
10
- desc 'Run examples'
11
- task :examples do
12
- Dir.glob('examples/*.rb').each do |file|
13
- puts "\n=== Running #{file} ==="
14
- system("ruby #{file}")
15
- end
16
- end
17
-
18
- desc 'Generate YARD documentation'
19
- task :yard do
20
- require 'yard'
21
- YARD::Rake::YardocTask.new
22
- end
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/gem_tasks'
4
+ require 'rspec/core/rake_task'
5
+
6
+ RSpec::Core::RakeTask.new(:spec)
7
+
8
+ task default: :spec
9
+
10
+ desc 'Run examples'
11
+ task :examples do
12
+ Dir.glob('examples/*.rb').each do |file|
13
+ puts "\n=== Running #{file} ==="
14
+ system("ruby #{file}")
15
+ end
16
+ end
17
+
18
+ desc 'Generate YARD documentation'
19
+ task :yard do
20
+ require 'yard'
21
+ YARD::Rake::YardocTask.new
22
+ end
data/examples/pair.rb CHANGED
@@ -1,48 +1,48 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- require_relative '../lib/nng'
5
-
6
- # Example: Pair protocol (bidirectional communication)
7
-
8
- puts "NNG Pair Protocol Example"
9
- puts "=" * 50
10
-
11
- # Create server socket
12
- server = NNG::Socket.new(:pair1)
13
- server.listen("tcp://127.0.0.1:5555")
14
- puts "Server listening on tcp://127.0.0.1:5555"
15
-
16
- # Create client socket in a thread
17
- client_thread = Thread.new do
18
- sleep 0.5 # Give server time to start
19
- client = NNG::Socket.new(:pair1)
20
- client.dial("tcp://127.0.0.1:5555")
21
- puts "Client connected"
22
-
23
- # Send message from client
24
- client.send("Hello from client!")
25
- puts "Client sent: Hello from client!"
26
-
27
- # Receive response
28
- response = client.recv
29
- puts "Client received: #{response}"
30
-
31
- client.close
32
- end
33
-
34
- # Server receives and responds
35
- data = server.recv
36
- puts "Server received: #{data}"
37
-
38
- server.send("Hello from server!")
39
- puts "Server sent: Hello from server!"
40
-
41
- # Wait for client thread
42
- client_thread.join
43
-
44
- # Cleanup
45
- server.close
46
-
47
- puts "=" * 50
48
- puts "Example completed!"
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require_relative '../lib/nng'
5
+
6
+ # Example: Pair protocol (bidirectional communication)
7
+
8
+ puts "NNG Pair Protocol Example"
9
+ puts "=" * 50
10
+
11
+ # Create server socket
12
+ server = NNG::Socket.new(:pair1)
13
+ server.listen("tcp://127.0.0.1:5555")
14
+ puts "Server listening on tcp://127.0.0.1:5555"
15
+
16
+ # Create client socket in a thread
17
+ client_thread = Thread.new do
18
+ sleep 0.5 # Give server time to start
19
+ client = NNG::Socket.new(:pair1)
20
+ client.dial("tcp://127.0.0.1:5555")
21
+ puts "Client connected"
22
+
23
+ # Send message from client
24
+ client.send("Hello from client!")
25
+ puts "Client sent: Hello from client!"
26
+
27
+ # Receive response
28
+ response = client.recv
29
+ puts "Client received: #{response}"
30
+
31
+ client.close
32
+ end
33
+
34
+ # Server receives and responds
35
+ data = server.recv
36
+ puts "Server received: #{data}"
37
+
38
+ server.send("Hello from server!")
39
+ puts "Server sent: Hello from server!"
40
+
41
+ # Wait for client thread
42
+ client_thread.join
43
+
44
+ # Cleanup
45
+ server.close
46
+
47
+ puts "=" * 50
48
+ puts "Example completed!"