Wykres commitów

504 Commity (5a241d77392d304ed2bec4bfcce9f840d6a79b0a)

Autor SHA1 Wiadomość Data
Nicolas Jouanin 1c7b91a35b Change version 2015-07-21 21:48:42 +02:00
Nicolas Jouanin b089357d04 Code cleanup 2015-07-20 23:11:42 +02:00
Nicolas Jouanin 821f53459e Fix client/session state management 2015-07-18 14:00:22 +02:00
Nicolas Jouanin 5aa358d17c Handler disconnection from broker in handler
HBMQTT-1
2015-07-18 13:36:37 +02:00
Nicolas Jouanin 186e1e0b8d Retain will messages if needed 2015-07-17 22:06:49 +02:00
Nicolas Jouanin 5074aba9aa Delete old files 2015-07-17 22:06:05 +02:00
Nicolas Jouanin 5ef5b1874e Handle will message
HBMQTT-15
2015-07-15 23:02:36 +02:00
Nicolas Jouanin 9ab59bb0b1 Add qos missing in session init 2015-07-15 23:02:00 +02:00
Nicolas Jouanin b83784a088 Fix will message encoding/decoding (bytes instead of string) 2015-07-15 23:01:40 +02:00
Nicolas Jouanin 879c021e6e Fix QOS flags setter 2015-07-15 22:06:40 +02:00
Nicolas Jouanin ff5ae364d3 Refactor subscriptions 2015-07-15 21:00:12 +02:00
Nicolas Jouanin e4b687bb21 Fix conformance test "Offline message queueing' 2015-07-14 14:19:46 +02:00
Nicolas Jouanin 5aebe98913 Clean coro stopping 2015-07-14 14:19:28 +02:00
Nicolas Jouanin 754727aa63 add repr() 2015-07-14 14:19:12 +02:00
Nicolas Jouanin 355fc8ae80 set handler loop 2015-07-13 22:07:25 +02:00
Nicolas Jouanin a8e240a2b2 Handle unsubscription
HBMQTT-16
2015-07-13 22:07:12 +02:00
Nicolas Jouanin 7ebe1cdd6b Fix from_stream reading topics list 2015-07-13 22:06:25 +02:00
Nicolas Jouanin 23a81449f5 Add instance builder 2015-07-13 22:06:02 +02:00
Nicolas Jouanin 674054e70b Delete retained messages when publish data is empty (and RETAIN=1)
This fixes Retained message test
HBMQTT-18
2015-07-12 23:03:56 +02:00
Nicolas Jouanin d6980af4fb HBMQTT-16
HBMQTT-18
Commit work in progress
2015-07-12 22:35:56 +02:00
Nicolas Jouanin 4618b89c99 Add repr 2015-07-12 14:40:31 +02:00
Nicolas Jouanin e124bbe949 HBMQTT-16
Add unsubscription management in handler
2015-07-12 13:37:40 +02:00
Nicolas Jouanin d2d843fec4 HBMQTT-17
Handle timeout on broker side (disconnect client if not message received until timeout specified on CONNECT)
2015-07-11 22:42:50 +02:00
Nicolas Jouanin 0181795192 HBMQTT-16
Add subscriptions management to broker
2015-07-11 22:22:33 +02:00
Nicolas Jouanin 752ca73af2 fix reading topics list 2015-07-11 22:17:46 +02:00
Nicolas Jouanin c8d78e2578 add build class method 2015-07-11 22:17:29 +02:00
Nicolas Jouanin 4c63b720c4 Add logging for unhandled messages 2015-07-11 21:08:03 +02:00
Nicolas Jouanin 06dda7aa8a Add new session to sessions cache 2015-07-11 20:59:58 +02:00
Nicolas Jouanin 26827b9ea9 Manage session state 2015-07-11 20:59:42 +02:00
Nicolas Jouanin 9697db1d4a Add file header comment 2015-07-11 20:53:17 +02:00
Nicolas Jouanin e8518b7e1d PEP8 2015-07-11 20:52:34 +02:00
Nicolas Jouanin 6c8313f1b7 Move CONNECT/CONNACK handling to broker class 2015-07-10 22:55:22 +02:00
Nicolas Jouanin 9317ceb8fa Close handler if connection failed 2015-07-10 22:54:15 +02:00
Nicolas Jouanin 8f13cd0682 PEP8 + default argument on build() 2015-07-10 22:41:26 +02:00
Nicolas Jouanin 98d048f403 move gen_client_id to utils 2015-07-10 22:19:07 +02:00
Nicolas Jouanin 38775f06c2 Add method for formatting client info (address, port, id) 2015-07-10 22:17:59 +02:00
Nicolas Jouanin f31c3f6434 Fix logging 2015-07-08 22:47:33 +02:00
Nicolas Jouanin ec8b73cfaf Handle pingreq 2015-07-08 22:47:21 +02:00
Nicolas Jouanin c744169a7d Implement stupid connect handle 2015-07-08 22:42:29 +02:00
Nicolas Jouanin 0bb316374b Fix connack tostream 2015-07-08 22:42:04 +02:00
Nicolas Jouanin f44ea4a058 Fix typo 2015-07-08 22:30:42 +02:00
Nicolas Jouanin bec3302c00 Add build packet classmethod 2015-07-08 22:30:27 +02:00
Nicolas Jouanin 9e5b785c8c Init keep alive to 0 instead of None 2015-07-08 22:29:37 +02:00
Nicolas Jouanin 63fd3cff2f Add handlers 2015-07-08 22:05:56 +02:00
Nicolas Jouanin 15c63dc2e4 Implement client connection/disconnection
HBMQTT-13
2015-07-08 21:54:10 +02:00
Nicolas Jouanin f53ae9e10a Remove config argument to handler 2015-07-08 21:22:47 +02:00
Nicolas Jouanin efd88b50fe HBMQTT-13 #comment Add remote address/port debug info on client connection 2015-07-07 22:58:49 +02:00
Nicolas Jouanin f9278211ef HBMQTT-13 #Init broker class 2015-07-07 22:48:53 +02:00
Nicolas Jouanin 9bedd5f892 Fix None if not config given (fall back to defaults) 2015-07-07 22:41:18 +02:00
Nicolas Jouanin ca3a693f0a Add file header 2015-07-07 22:06:51 +02:00
Nicolas Jouanin b681de96de Source tree refactoring 2015-07-07 21:55:17 +02:00
Nicolas Jouanin 6306288b7b Bump version 2015-07-06 22:47:25 +02:00
Nicolas Jouanin a244849f7c Bump version 2015-07-06 22:40:27 +02:00
Nicolas Jouanin 9ee40bc19b Handle incoming publish messages 2015-07-06 21:58:09 +02:00
Nicolas Jouanin 577d61b986 Add deliver_message() to get next message delivered by peer 2015-07-06 21:54:04 +02:00
Nicolas Jouanin 4c463e6cb0 use Tasks instead of yield from 2015-07-06 21:09:50 +02:00
Nicolas Jouanin 039037f9c6 Store publish message flows 2015-07-06 21:09:34 +02:00
Nicolas Jouanin 1f084d5ca1 Use queue for managing PINRESP 2015-07-06 21:01:24 +02:00
nico 57df79e3a9 Manage ping resp with Futures 2015-07-06 16:50:19 +02:00
Nicolas Jouanin 8cb7cf67cb set state to completed on PUBCOMP 2015-07-05 22:29:46 +02:00
Nicolas Jouanin 9b81cf2277 Manage publish sending message flows using futures 2015-07-05 22:27:34 +02:00
Nicolas Jouanin 5eacd2959d Handle subscribe and unsubscribe with futures 2015-07-05 22:00:49 +02:00
Nicolas Jouanin d05e182fc1 Return return codes from suback 2015-07-05 21:59:57 +02:00
Nicolas Jouanin ac684e8551 Handle connack with Future 2015-07-05 21:30:52 +02:00
Nicolas Jouanin e44e861f69 Handle ping request from client 2015-07-05 21:12:18 +02:00
Nicolas Jouanin d7f565b079 Return CONNACK return code to client 2015-07-05 16:08:36 +02:00
Nicolas Jouanin d9bc796aad Refactor keep alive handling 2015-07-05 15:53:52 +02:00
Nicolas Jouanin b5479be287 Fix HBMQTT-9 2015-07-05 15:52:39 +02:00
nico a3391ffe8a HBMQTT-6
Add publish messages reception co-routine (WIP)
2015-07-02 14:10:26 +02:00
nico b719a8283c HBMQTT-6
Add build() class method for packet PUBACK, PUBREC and PUBREL.
2015-07-02 14:02:10 +02:00
nico 541e54a54d PEP8 2015-07-02 13:40:02 +02:00
Nicolas Jouanin b3e18adefe HBMQTT-2 #comment fixed as published message with QOS=0 don't have packet ID 2015-07-01 21:38:22 +02:00
Nicolas Jouanin be4d5a3542 Fix publish packet 2015-06-30 22:48:03 +02:00
nico aa4479f191 Version bump 2015-06-30 13:31:00 +02:00
nico 380ffab622 Add versioning + setuptools 2015-06-30 13:21:58 +02:00
nico 55afb8b07f Move to samples 2015-06-30 12:36:41 +02:00
Nicolas Jouanin 86b66befb0 clean code 2015-06-29 22:49:04 +02:00
Nicolas Jouanin 84dc9aa1c0 PEP8 2015-06-29 22:46:05 +02:00
Nicolas Jouanin 9cd9642ba2 Implement subscribe/unsubscribe 2015-06-29 22:38:36 +02:00
Nicolas Jouanin 137e291155 Fix flags settings 2015-06-29 22:37:01 +02:00
Nicolas Jouanin 0c3e008811 Add build method 2015-06-29 22:05:54 +02:00
Nicolas Jouanin 7d72862457 Implement inflight messages following 2015-06-28 22:48:07 +02:00
Nicolas Jouanin 2cc1723ca9 Add client ping handling 2015-06-27 22:26:50 +02:00
Nicolas Jouanin f06f22cbdb Remove ping handling from client 2015-06-27 22:26:34 +02:00
Nicolas Jouanin 30639d40c9 Add missing packet types 2015-06-27 22:25:54 +02:00
Nicolas Jouanin d43ffdce27 Refactor session
Create ClientProtocolHandler
2015-06-27 21:38:04 +02:00
Nicolas Jouanin 280f6979c9 Disabled 2015-06-27 18:00:55 +02:00
Nicolas Jouanin 8b4714db37 Fix testing 2015-06-27 17:55:18 +02:00
Nicolas Jouanin f4bab73381 Refactor session + protocol 2015-06-27 17:42:19 +02:00
Nicolas Jouanin 09e2f208f0 (should) fix tests 2015-06-26 22:26:50 +02:00
Nicolas Jouanin 6a729f8ccd disable (temporarly) testing 2015-06-26 22:13:24 +02:00
Nicolas Jouanin f94135c315 Method move 2015-06-26 22:08:31 +02:00
Nicolas Jouanin 753f347f5c Merge session and protocol classes
Move client test
2015-06-26 22:00:26 +02:00
Nicolas Jouanin b173b3f5aa WIP 2015-06-24 23:19:25 +02:00
Nicolas Jouanin b3ba2ccedb Return none instead of throwing exception when no data is read 2015-06-24 23:19:11 +02:00
nico cc0454d335 WIP 2015-06-24 16:52:08 +02:00
Nicolas Jouanin 4c89b2ecde Implement first handler testing 2015-06-23 22:46:53 +02:00
Nicolas Jouanin a711b1c775 Comment unused thread 2015-06-23 22:08:38 +02:00
Nicolas Jouanin 52ba4b7020 WIP for ProtocolHandler 2015-06-22 23:14:25 +02:00
Nicolas Jouanin 7a7ecb8181 Fix suback packet reading 2015-06-21 22:17:41 +02:00
Nicolas Jouanin 1a3924e049 Add exception message 2015-06-18 23:23:59 +02:00
Nicolas Jouanin 56fe5acc23 Add client publish methods 2015-06-18 22:30:28 +02:00
Nicolas Jouanin 19ac72c2a6 fix flags 2015-06-18 22:29:59 +02:00
Nicolas Jouanin 8c1d671fb8 Add PacketIdVariableHeader repr 2015-06-18 22:29:34 +02:00
Nicolas Jouanin f71651ab71 Implement publish with QOS_0 2015-06-18 19:41:12 +02:00
Nicolas Jouanin 75f83b416a Add packet_id generator 2015-06-18 19:40:48 +02:00
Nicolas Jouanin a22809d2b7 Add publish payload data 2015-06-18 19:30:13 +02:00
Nicolas Jouanin dd25134902 Fix packet type checking 2015-06-18 17:51:06 +02:00
Nicolas Jouanin 9869de1aa5 make client async without threading 2015-06-18 11:39:36 +02:00
Nicolas Jouanin 2307d3b13b Add missing parameters to __init__
use class name in __repr__
2015-06-18 11:39:20 +02:00
Nicolas Jouanin 1cc9d53364 Add Unsuback packet 2015-06-18 10:28:54 +02:00
Nicolas Jouanin 82479dfc18 Add Unsuscribe packet 2015-06-18 10:22:46 +02:00
Nicolas Jouanin 4884ae2004 Implement SUBACK messages 2015-06-17 22:28:21 +02:00
Nicolas Jouanin 14ae1ea1fb remove print() 2015-06-17 22:23:03 +02:00
Nicolas Jouanin 7c289dc46c Add subscribe message 2015-06-17 22:06:11 +02:00
Nicolas Jouanin 9c14f6d01d Factorize VariableHeader with packet id 2015-06-17 21:08:13 +02:00
Nicolas Jouanin 3da64bc65d Add PUBCOMP, PUBREL messages 2015-06-17 17:28:36 +02:00
Nicolas Jouanin 14f7fe0644 Add PUBACK , PUBREC messages 2015-06-17 17:19:31 +02:00
Nicolas Jouanin 95711cb6a9 Add ping coro 2015-06-17 17:00:05 +02:00
Nicolas Jouanin fcaaac043b PEP8 2015-06-17 16:59:42 +02:00
Nicolas Jouanin 77b430d6c2 Remove unused imports 2015-06-17 16:59:29 +02:00
Nicolas Jouanin d0801e7384 Add publish packet class 2015-06-17 16:48:52 +02:00
Nicolas Jouanin 502ff3f722 Make Fixed header type generic 2015-06-17 16:48:33 +02:00
Nicolas Jouanin 1876495b9d Fix typo 2015-06-17 16:48:03 +02:00
Nicolas Jouanin 2e87e531da Add decode_packet_id utility 2015-06-17 08:08:21 +02:00
Nicolas Jouanin 028640ac70 FIX qos setter 2015-06-17 08:00:44 +02:00
Nicolas Jouanin ad74ad6a71 Add Ping req/resp packet 2015-06-17 07:25:52 +02:00
Nicolas Jouanin 5d147415f1 Remove unused init parameters 2015-06-17 07:25:34 +02:00
Nicolas Jouanin e7f14f1c1d Handle disconnect 2015-06-16 22:37:14 +02:00
Nicolas Jouanin 642607e203 Add ConnectPayLoad __repr__ 2015-06-16 21:59:12 +02:00
Nicolas Jouanin 2e4b32d11f Fix flag setter + add __repr__ 2015-06-16 21:53:31 +02:00
Nicolas Jouanin b13e8f89fa Fix testing 2015-06-13 15:18:19 +02:00
Nicolas Jouanin a78e71410d Comment out 2015-06-13 15:16:56 +02:00
Nicolas Jouanin 8d5052746b Comment out (need refactoring) 2015-06-13 15:16:00 +02:00
Nicolas Jouanin e200080a5e Fix tests 2015-06-13 15:14:03 +02:00
Nicolas Jouanin 43c100d8b0 Delete unused + comment broker (need refactoring) 2015-06-13 15:10:53 +02:00
Nicolas Jouanin 309e9dd371 Declare classes as abstract 2015-06-13 15:07:58 +02:00
Nicolas Jouanin 5fa686de6a Test connect packet 2015-06-13 15:05:42 +02:00
Nicolas Jouanin fbcb7e7505 Make return code an enum instance 2015-06-12 23:21:51 +02:00
Nicolas Jouanin 3dba18fb84 Fix is parameter is already an int 2015-06-12 23:20:52 +02:00
Nicolas Jouanin 0c97edd020 Package rename 2015-06-12 22:53:43 +02:00
Nicolas Jouanin 375019793e Fix codec engine 2015-06-12 22:50:31 +02:00
Nicolas Jouanin 6aa0029495 Create base exception 2015-06-12 22:49:58 +02:00
Nicolas Jouanin 6b18ef501b Add codecs 2015-06-12 21:55:12 +02:00
Nicolas Jouanin 4b389a7396 Add payload codecs 2015-06-12 21:54:43 +02:00
Nicolas Jouanin 91219b9447 Fix error if flags not initialized 2015-06-12 21:46:46 +02:00
Nicolas Jouanin a5ed7f47f9 PEP8 2015-06-12 21:30:39 +02:00
Nicolas Jouanin 84adc1d693 Add Fixed header test cases 2015-06-12 21:29:54 +02:00
Nicolas Jouanin 5eff12107e Fix parent class 2015-06-12 21:29:07 +02:00
Nicolas Jouanin 8eff6bcc15 Work in progress (tons of errors remaining) 2015-06-11 23:12:29 +02:00
Nicolas Jouanin 65eb6e68f8 Add Request/Response subclass for handlers 2015-06-11 21:25:55 +02:00
Nicolas Jouanin a1d5bd517e Add connack message handler 2015-06-11 14:37:41 +02:00
Nicolas Jouanin 65fb49e661 Add license header 2015-06-11 14:37:26 +02:00
Nicolas Jouanin 36acdd9e9f Factorise 2015-06-11 14:37:11 +02:00
Nicolas Jouanin e5e0b3aa49 Refactored elsewhere 2015-06-11 14:36:52 +02:00
Nicolas Jouanin 556b982864 Refactoring in progress 2015-06-11 13:54:37 +02:00
Nicolas Jouanin 7bab9ab115 Typo 2015-06-08 23:23:04 +02:00
Nicolas Jouanin 6601a40bd9 Typo 2015-06-08 23:20:05 +02:00
Nicolas Jouanin 713c3aaaf6 Implement CONNECT handler 2015-06-08 23:17:29 +02:00
Nicolas Jouanin df5ff26ece Store remote network information in ConnectMessage 2015-06-08 22:11:40 +02:00
Nicolas Jouanin 7605a18a3d Move to coroutine 2015-06-08 22:11:24 +02:00
Nicolas Jouanin a9649d8108 Imports 2015-06-08 22:01:45 +02:00
Nicolas Jouanin dd2182aa3b Typo 2015-06-08 22:01:34 +02:00
Nicolas Jouanin 13c1fe5fb2 Refactor broker message management 2015-06-08 22:01:25 +02:00
Nicolas Jouanin 60429f43cc Add message handlers dict in broker 2015-06-02 22:32:11 +02:00
Nicolas Jouanin bf6ac97aff Remove unused 2015-06-02 22:26:40 +02:00
Nicolas Jouanin f58e7da2b3 Move broker stuff in specific package (for separation with future MQTT client stuffs) 2015-06-02 22:26:07 +02:00
Nicolas Jouanin 543ced42db To be done 2015-05-31 22:37:32 +02:00
Nicolas Jouanin 3633ceb7cb Add CONNECT handler 2015-05-31 22:03:51 +02:00
Nicolas Jouanin b1444f6a03 Check CONNECT is the first message received and that it is received only once 2015-05-31 21:38:49 +02:00
Nicolas Jouanin c8b3f5bfac Create new exception base hierarchy for MQTT errors 2015-05-31 21:36:45 +02:00
Nicolas Jouanin 4be588ec4e Encode fixed header by default 2015-05-31 17:22:39 +02:00
Nicolas Jouanin 9cea683700 Add Connect encoder 2015-05-31 14:59:39 +02:00
Nicolas Jouanin 76855b5d37 default protocol name and protocol level 2015-05-31 14:59:25 +02:00
Nicolas Jouanin 6df454defe encode() doesn't need to be a coroutine 2015-05-31 14:58:58 +02:00
Nicolas Jouanin 874a304a81 add encode_string method 2015-05-31 14:30:32 +02:00
Nicolas Jouanin da08f0909b Rename read_string -> decode_string 2015-05-31 14:23:45 +02:00
Nicolas Jouanin b2bca12397 Use integer division 2015-05-31 14:20:55 +02:00
Nicolas Jouanin 55ef8cd380 Compute bit_length 2015-05-31 14:12:18 +02:00
Nicolas Jouanin 5708922398 Add header encoder 2015-05-31 14:11:59 +02:00
Nicolas Jouanin 76bacc445e Add header encoding 2015-05-31 08:00:15 +02:00
Nicolas Jouanin 05dc5bd97e Add int to bytes conversion method 2015-05-31 07:59:42 +02:00
Nicolas Jouanin b90e59a007 Use asyncio.streams 2015-05-30 22:31:23 +02:00
Nicolas Jouanin 90e1a715b4 use read exactly 2015-05-30 22:30:16 +02:00
Nicolas Jouanin b62b00f370 Add connect codec 2015-05-30 22:29:56 +02:00
Nicolas Jouanin a27cec97a8 New package 2015-05-30 22:29:26 +02:00
Nicolas Jouanin 904bae2295 Rename codec 2015-05-30 21:34:47 +02:00
Nicolas Jouanin 4c079f9a66 Make codes methods statics 2015-05-30 14:15:17 +02:00
Nicolas Jouanin 5a70775bd5 Rename streams -> codecs 2015-05-30 13:58:59 +02:00
Nicolas Jouanin 16c3a0cdce Move utils 2015-05-30 13:58:29 +02:00
Nicolas Jouanin 4233e28d82 Add some comments 2015-05-29 23:08:13 +02:00
Nicolas Jouanin 021a4a7c87 Add some comments 2015-05-29 23:04:08 +02:00
Nicolas Jouanin 7881a545f1 rename hex_to_int -> byte_to_int 2015-05-29 22:50:39 +02:00
Nicolas Jouanin eca1e47e9c Add read_string + tests 2015-05-29 22:50:07 +02:00
Nicolas Jouanin 5cec05feee Add missing return 2015-05-29 22:33:02 +02:00
Nicolas Jouanin 80c66d9e15 Add read_or_raise method 2015-05-29 22:32:27 +02:00
Nicolas Jouanin a25ba48c3b Change flags management 2015-05-29 22:18:52 +02:00
Nicolas Jouanin 3048c1b836 Add decode() testing 2015-05-29 15:51:15 +02:00
Nicolas Jouanin 8c634b7217 File and attributes rename 2015-05-29 15:50:27 +02:00
Nicolas Jouanin 17ea5f8fc2 Do some refactoring 2015-05-29 15:28:36 +02:00
Nicolas Jouanin d3f09dc4ed Init message streaming for message encoding/decoding 2015-05-28 23:18:42 +02:00
Nicolas Jouanin 2b45fc6a3e Add some byte conversion utilities 2015-05-28 23:17:25 +02:00
Nicolas Jouanin 35577ab99a Remove unused transitions 2015-05-26 22:19:44 +02:00
Nicolas Jouanin 05c0e4b851 initial commit 2015-05-26 22:06:59 +02:00