shlist

share and manage lists between multiple people
Log | Files | Refs

commit 4d862762b0f6ffce7990c5ce9b767865b19a4a88
parent 2429dba52eff4e39a6549fdfe787e36a4cf4c41c
Author: Kyle Milz <kyle@Kyles-MacBook-Pro.local>
Date:   Sun, 20 Sep 2015 14:12:45 -0600

ios: make the server reconnect case work

Diffstat:
Mios-ng/shlist/AppDelegate.m | 1-
Mios-ng/shlist/Network.m | 11++++++++---
2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/ios-ng/shlist/AppDelegate.m b/ios-ng/shlist/AppDelegate.m @@ -52,7 +52,6 @@ // background. NSLog(@"info: app: entering foreground, reconnecting..."); - [network_connection connect]; [network_connection send_message:3 contents:nil]; } diff --git a/ios-ng/shlist/Network.m b/ios-ng/shlist/Network.m @@ -17,6 +17,7 @@ NSData *device_id; NSString *device_id_file; + bool connected; } @end @@ -48,6 +49,7 @@ msg_type = 0; msg_type_pos = 0; + connected = 0; [self connect]; } @@ -57,6 +59,7 @@ - (void) connect { NSLog(@"info: network: connecting"); + connected = 1; CFReadStreamRef readStream; CFWriteStreamRef writeStream; @@ -80,6 +83,7 @@ - (void) disconnect { NSLog(@"info: network: disconnecting"); + connected = 0; [inputShlistStream close]; [outputShlistStream close]; @@ -126,6 +130,9 @@ - (void) send_message:(uint16_t)send_msg_type contents:(NSData *)payload { + if (!connected) + [self connect]; + NSMutableData *msg = [NSMutableData data]; NSLog(@"info: network: send_message: msg type %i", send_msg_type); @@ -194,15 +201,13 @@ break; case NSStreamEventErrorOccurred: // I saw this case when trying to connect to a down server - NSLog(@"info: network: stream error occurred"); [self disconnect]; // fall through on purpose case NSStreamEventEndEncountered: - // close both sides of the connection on end - NSLog(@"ShlistServer::NSStreamEventEndEncountered"); + NSLog(@"info: Network::NSStreamEventEndEncountered"); [self disconnect]; break;