patronus_fati 0.8.18 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bef4059f6e2fd08cf17c651c6f5e284ce30c85ce
4
- data.tar.gz: df5493238b6ed874ecf5d0c5af7b2bd600313e0a
3
+ metadata.gz: 8fdb0f04f7d47070cf4b4135c7bc5da626b997f4
4
+ data.tar.gz: 9c6c6fdfb79f68c39ad0839fb49d03e89e5abea7
5
5
  SHA512:
6
- metadata.gz: d7d1507b304716832b4590d989a1acd12934fbb9eccd609c1542e27e74bd3bbb7d7b4a9b68b8caf173636eb633e1aea613bb94f3dad64455d9aeb87785ab37c1
7
- data.tar.gz: fba282010cd24b23a959e7e4005e650b1e482fd82ec952c306b418264a60960584b70072f8960f4e579b2281994477507cfe7ccaa6a8bf3c7674f79e817e05c3
6
+ metadata.gz: dbd3f9a0fffb57ed01e0222c34f5675bdf433d5fe1179c757391724227add1cb594ca5c5945ba823cbd44eccd8042aeded4be7181d24193efc5f8eb1211fe1f2
7
+ data.tar.gz: 339b6bca928a3216866f6f0ab425f17fb35a05d5c73ec7a632fdd75f59a452ef4f3e553983ed6758da4477a4eb3cd4680fcf4fb5dfcf2d1cd9c6150abcf4f91d
@@ -18,8 +18,14 @@ module PatronusFati::MessageProcessor::Client
18
18
  return unless (ap = PatronusFati::DataModels::AccessPoint.first(bssid: obj[:bssid]))
19
19
  ap.seen!
20
20
 
21
- conn = PatronusFati::DataModels::Connection.connected.first_or_create({client: client, access_point: ap})
22
- conn.seen!
21
+ if (conn = PatronusFati::DataModels::Connection.connected.first(client: client, access_point: ap))
22
+ conn.seen!
23
+ else
24
+ average = obj[:datasize] / obj[:datapackets]
25
+ return unless (average >= 156 && obj[:datapackets] > 10) || (average >= 110 && obj[:datapackets] > 50)
26
+
27
+ PatronusFati::DataModels::Connection.connected.create(client: client, access_point: ap)
28
+ end
23
29
  end
24
30
 
25
31
  nil
@@ -42,7 +42,7 @@ module PatronusFati
42
42
  end
43
43
 
44
44
  def self.periodic_flush
45
- @next_sync ||= Time.now.to_i + 60
45
+ @next_sync ||= Time.now.to_i + 300
46
46
 
47
47
  if @next_sync <= Time.now.to_i
48
48
  # Add a variability of +/- half an hour within a day
@@ -55,6 +55,12 @@ module PatronusFati
55
55
  PatronusFati::DataModels::Client.all.each do |cli|
56
56
  PatronusFati.event_handler.event(:client, :sync, cli.full_state, {})
57
57
  end
58
+
59
+ all_online = {
60
+ access_points: PatronusFati::DataModels::AccessPoint.all(fields: [:bssid]).map(&:bssid),
61
+ clients: PatronusFati::DataModels::AccessPoint.all(fields: [:bssid]).map(&:bssid)
62
+ }
63
+ PatronusFati.event_handler.event(:both, :sync, all_online, [])
58
64
  end
59
65
  end
60
66
  end
@@ -1,3 +1,3 @@
1
1
  module PatronusFati
2
- VERSION = '0.8.18'
2
+ VERSION = '0.9.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: patronus_fati
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.18
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Stelfox
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-09 00:00:00.000000000 Z
11
+ date: 2015-12-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dm-constraints