MEChat 1.2.2 → 1.2.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/Chat.rb +9 -1
  3. data/client.rb +0 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: df9c8aad3c6f17a909439a15eb05e47ee866ba66e812ef2146ad22d2b7bf1eae
4
- data.tar.gz: ba2fc4b2a0bc150e711ed8adc3781a89babc2a59b913a60a63f5c72990303211
3
+ metadata.gz: 970e7269319bf1254409794849e9a886384b0ac615c58732413cfb0fbaffdb26
4
+ data.tar.gz: 6fbe3b25ef02df8ddd82a5d3de0c49eba494468212d6bffdeb33f3c3e2288575
5
5
  SHA512:
6
- metadata.gz: fb245e1baa6c763ef1aa4f5516d1ce41addc39a4ca2edc636cef7a165b6643fa0c54d0de814d1ce61d481dda019baeecf857d1c1cc7358dfec3fdac58e41fc4c
7
- data.tar.gz: 486bc3b6b00de1f9646cb770d162d67f6b5517b12f73d9dd8c59b3b8700c399f26345ce624c4d79607dff701a8cac70cf69f6f9ab8363dee18dbb7b23ef476b1
6
+ metadata.gz: ffedf600eedfa4bed9334fbafae153135bc288869f1b349598c704c9ca8f166d3992e2581fa8184a5f3280ab5a114114e9fecbafbc74409ac34a7ee2cd1f339e
7
+ data.tar.gz: 1c596f8b598b325f42afbecf91528d3dcfe9779398722c09e38242c9d44a4c9391fd36e05d1989e241917aac66059e403a77a50bb2c80269433864efef0fb9ea
data/Chat.rb CHANGED
@@ -36,11 +36,19 @@ class Chat < DistributedChat::ChatService::Service
36
36
  def request_critical_section(req,_call)
37
37
  request = {:ip => Addrinfo.getaddrinfo(req.username.split(":")[0..-2].join(":"),req.username.split(":")[-1].to_i)[0], :message => req}
38
38
  if $crit_section === 0
39
- @logger.info "Sent reply to #{request[:ip].ip_address}:#{request[:ip].ip_port}, because I am not in critical section"
39
+ @logger.info "Sent reply to #{request[:ip].ip_address}:#{request[:ip].ip_port}, because I am not in critical section | #{_call}"
40
40
  send_reply ip: request[:ip]
41
41
  elsif $crit_section < 2 && request[:message].timestamp < $alg.clock
42
42
  @logger.info "Sent reply to #{request[:ip].ip_address}:#{request[:ip].ip_port}, because I am entering critical section but my request is newer"
43
43
  send_reply ip: request[:ip]
44
+ elsif $crit_section < 2 && request[:message].timestamp === $alg.clock
45
+ if request[:ip].ip_address + ":" + request[:ip].ip_port.to_s < @ip.ip_address + ":" + @port.to_s
46
+ @logger.info "Sent reply to #{request[:ip].ip_address}:#{request[:ip].ip_port}, because I am entering critical section but my request is newer"
47
+ send_reply ip: request[:ip]
48
+ else
49
+ @logger.info "Delayed reply to #{request[:ip].ip_address}:#{request[:ip].ip_port}, because I am entering critical section but my request is older"
50
+ $alg.requests << request
51
+ end
44
52
  else
45
53
  @logger.info "Delayed reply to #{request[:ip].ip_address}:#{request[:ip].ip_port}, because I am in critical section"
46
54
  $alg.requests << request
data/client.rb CHANGED
@@ -72,7 +72,6 @@ class Client
72
72
  request_critical_section
73
73
  while $alg.replies.length < $nodes.length
74
74
  sleep 0.1
75
- @logger.info "#{@ip.ip_address}:#{$port.to_s} #{$alg.replies.length}/#{$nodes.length} waiting for replies"
76
75
  end
77
76
  $crit_section = 2
78
77
  $nodes.each do |node|
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: MEChat
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lukas Kaufmann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-08 00:00:00.000000000 Z
11
+ date: 2024-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: grpc