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:
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;