gorealis v2 refactor (#5)
* Changing default timeout for start maintenance. * Upgrading dependencies to gorealis v2 and thrift 0.12.0 * Refactored to update to gorealis v2.
This commit is contained in:
parent
ad4dd9606e
commit
6ab5c9334d
1335 changed files with 137431 additions and 61530 deletions
2
vendor/git.apache.org/thrift.git/lib/cocoa/src/Thrift.h
generated
vendored
2
vendor/git.apache.org/thrift.git/lib/cocoa/src/Thrift.h
generated
vendored
|
@ -17,4 +17,4 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
#define ThriftVersion @"0.10.0"
|
||||
#define ThriftVersion @"0.12.0"
|
||||
|
|
4
vendor/git.apache.org/thrift.git/lib/cocoa/src/protocol/TBase.h
generated
vendored
4
vendor/git.apache.org/thrift.git/lib/cocoa/src/protocol/TBase.h
generated
vendored
|
@ -26,14 +26,14 @@
|
|||
/**
|
||||
* De-serialize object from the given input protocol
|
||||
*
|
||||
* @param input protocol used for reading
|
||||
* @param inProtocol protocol used for reading
|
||||
*/
|
||||
-(BOOL) read:(id <TProtocol>)inProtocol error:(NSError **)error;
|
||||
|
||||
/**
|
||||
* Serialize object to the given protocol
|
||||
*
|
||||
* @param buf output protocol used for writing
|
||||
* @param outProtocol output protocol used for writing
|
||||
*/
|
||||
-(BOOL) write:(id <TProtocol>)outProtocol error:(NSError **)error;
|
||||
|
||||
|
|
4
vendor/git.apache.org/thrift.git/lib/cocoa/src/server/TSocketServer.h
generated
vendored
4
vendor/git.apache.org/thrift.git/lib/cocoa/src/server/TSocketServer.h
generated
vendored
|
@ -41,6 +41,10 @@ extern NSString *const TSockerServerTransportKey;
|
|||
protocolFactory:(id <TProtocolFactory>)protocolFactory
|
||||
processorFactory:(id <TProcessorFactory>)processorFactory;
|
||||
|
||||
- (instancetype) initWithPath: (NSString *) path
|
||||
protocolFactory: (id <TProtocolFactory>) protocolFactory
|
||||
processorFactory: (id <TProcessorFactory>) processorFactory;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
|
|
133
vendor/git.apache.org/thrift.git/lib/cocoa/src/server/TSocketServer.m
generated
vendored
133
vendor/git.apache.org/thrift.git/lib/cocoa/src/server/TSocketServer.m
generated
vendored
|
@ -25,7 +25,7 @@
|
|||
|
||||
#import <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
|
||||
#include <sys/un.h>
|
||||
|
||||
|
||||
NSString *const TSocketServerClientConnectionFinished = @"TSocketServerClientConnectionFinished";
|
||||
|
@ -40,13 +40,14 @@ NSString *const TSockerServerTransportKey = @"TSockerServerTransport";
|
|||
@property(strong, nonatomic) id<TProcessorFactory> processorFactory;
|
||||
@property(strong, nonatomic) NSFileHandle *socketFileHandle;
|
||||
@property(strong, nonatomic) dispatch_queue_t processingQueue;
|
||||
@property(strong, nonatomic) NSString *domainSocketPath;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@implementation TSocketServer
|
||||
|
||||
-(instancetype) initWithPort:(int)port
|
||||
-(instancetype) initWithSocket:(CFSocketRef)socket
|
||||
protocolFactory:(id <TProtocolFactory>)protocolFactory
|
||||
processorFactory:(id <TProcessorFactory>)processorFactory;
|
||||
{
|
||||
|
@ -62,32 +63,7 @@ NSString *const TSockerServerTransportKey = @"TSockerServerTransport";
|
|||
_processingQueue = dispatch_queue_create("TSocketServer.processing", processingQueueAttr);
|
||||
|
||||
// create a socket.
|
||||
int fd = -1;
|
||||
CFSocketRef socket = CFSocketCreate(kCFAllocatorDefault, PF_INET, SOCK_STREAM, IPPROTO_TCP, 0, NULL, NULL);
|
||||
if (socket) {
|
||||
CFSocketSetSocketFlags(socket, CFSocketGetSocketFlags(socket) & ~kCFSocketCloseOnInvalidate);
|
||||
fd = CFSocketGetNative(socket);
|
||||
int yes = 1;
|
||||
setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (void *)&yes, sizeof(yes));
|
||||
|
||||
struct sockaddr_in addr;
|
||||
memset(&addr, 0, sizeof(addr));
|
||||
addr.sin_len = sizeof(addr);
|
||||
addr.sin_family = AF_INET;
|
||||
addr.sin_port = htons(port);
|
||||
addr.sin_addr.s_addr = htonl(INADDR_ANY);
|
||||
NSData *address = [NSData dataWithBytes:&addr length:sizeof(addr)];
|
||||
if (CFSocketSetAddress(socket, (__bridge CFDataRef)address) != kCFSocketSuccess) {
|
||||
CFSocketInvalidate(socket);
|
||||
CFRelease(socket);
|
||||
NSLog(@"TSocketServer: Could not bind to address");
|
||||
return nil;
|
||||
}
|
||||
}
|
||||
else {
|
||||
NSLog(@"TSocketServer: No server socket");
|
||||
return nil;
|
||||
}
|
||||
int fd = CFSocketGetNative(socket);
|
||||
|
||||
// wrap it in a file handle so we can get messages from it
|
||||
_socketFileHandle = [[NSFileHandle alloc] initWithFileDescriptor:fd
|
||||
|
@ -106,15 +82,114 @@ NSString *const TSockerServerTransportKey = @"TSockerServerTransport";
|
|||
// tell socket to listen
|
||||
[_socketFileHandle acceptConnectionInBackgroundAndNotify];
|
||||
|
||||
NSLog(@"TSocketServer: Listening on TCP port %d", port);
|
||||
return self;
|
||||
}
|
||||
|
||||
- (id) initWithPort: (int) port
|
||||
protocolFactory: (id <TProtocolFactory>) protocolFactory
|
||||
processorFactory: (id <TProcessorFactory>) processorFactory
|
||||
{
|
||||
CFSocketRef socket = [[self class] createSocketWithPort:port];
|
||||
if (socket == NULL) {
|
||||
return nil;
|
||||
}
|
||||
|
||||
if (self = [self initWithSocket:socket protocolFactory:protocolFactory processorFactory:processorFactory]) {
|
||||
NSLog(@"TSocketServer: Listening on TCP port %d", port);
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
|
||||
+(CFSocketRef) createSocketWithPort:(int)port
|
||||
{
|
||||
CFSocketRef socket = CFSocketCreate(kCFAllocatorDefault, PF_INET, SOCK_STREAM, IPPROTO_TCP, 0, NULL, NULL);
|
||||
if (socket) {
|
||||
CFSocketSetSocketFlags(socket, CFSocketGetSocketFlags(socket) & ~kCFSocketCloseOnInvalidate);
|
||||
int fd = CFSocketGetNative(socket);
|
||||
int yes = 1;
|
||||
setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (void *)&yes, sizeof(yes));
|
||||
|
||||
struct sockaddr_in addr;
|
||||
memset(&addr, 0, sizeof(addr));
|
||||
addr.sin_len = sizeof(addr);
|
||||
addr.sin_family = AF_INET;
|
||||
addr.sin_port = htons(port);
|
||||
addr.sin_addr.s_addr = htonl(INADDR_ANY);
|
||||
NSData *address = [NSData dataWithBytes:&addr length:sizeof(addr)];
|
||||
if (CFSocketSetAddress(socket, (__bridge CFDataRef)address) != kCFSocketSuccess) {
|
||||
CFSocketInvalidate(socket);
|
||||
CFRelease(socket);
|
||||
NSLog(@"TSocketServer: Could not bind to address");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return socket;
|
||||
}
|
||||
else {
|
||||
NSLog(@"TSocketServer: No server socket");
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
- (id) initWithPath: (NSString *) path
|
||||
protocolFactory: (id <TProtocolFactory>) protocolFactory
|
||||
processorFactory: (id <TProcessorFactory>) processorFactory
|
||||
{
|
||||
_domainSocketPath = path;
|
||||
CFSocketRef socket = [[self class] createSocketWithPath:path];
|
||||
if (socket == NULL) {
|
||||
return nil;
|
||||
}
|
||||
|
||||
if (self = [self initWithSocket:socket protocolFactory:protocolFactory processorFactory:processorFactory]) {
|
||||
NSLog(@"TSocketServer: Listening on path %@", path);
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
+ (CFSocketRef) createSocketWithPath: (NSString *) path
|
||||
{
|
||||
CFSocketRef socket = CFSocketCreate(kCFAllocatorDefault, PF_LOCAL, SOCK_STREAM, IPPROTO_IP, 0, NULL, NULL);
|
||||
if (socket) {
|
||||
CFSocketSetSocketFlags(socket, CFSocketGetSocketFlags(socket) & ~kCFSocketCloseOnInvalidate);
|
||||
int fd = CFSocketGetNative(socket);
|
||||
int yes = 1;
|
||||
setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (void *)&yes, sizeof(yes));
|
||||
|
||||
size_t nullTerminatedPathLength = path.length + 1;
|
||||
struct sockaddr_un addr;
|
||||
if (nullTerminatedPathLength> sizeof(addr.sun_path)) {
|
||||
NSLog(@"TSocketServer: Unable to create socket at path %@. Path is too long.", path);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
addr.sun_family = AF_LOCAL;
|
||||
memcpy(addr.sun_path, path.UTF8String, nullTerminatedPathLength);
|
||||
addr.sun_len = SUN_LEN(&addr);
|
||||
|
||||
NSData *address = [NSData dataWithBytes:&addr length:sizeof(addr)];
|
||||
if (CFSocketSetAddress(socket, (__bridge CFDataRef)address) != kCFSocketSuccess) {
|
||||
CFSocketInvalidate(socket);
|
||||
CFRelease(socket);
|
||||
NSLog(@"TSocketServer: Could not bind to address");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return socket;
|
||||
} else {
|
||||
NSLog(@"TSocketServer: No server socket");
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
-(void) dealloc
|
||||
{
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
|
||||
if (_domainSocketPath != nil) {
|
||||
unlink(_domainSocketPath.UTF8String);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
2
vendor/git.apache.org/thrift.git/lib/cocoa/src/transport/TNSStreamTransport.m
generated
vendored
2
vendor/git.apache.org/thrift.git/lib/cocoa/src/transport/TNSStreamTransport.m
generated
vendored
|
@ -94,7 +94,7 @@
|
|||
|
||||
-(BOOL) write:(const UInt8 *)data offset:(UInt32)offset length:(UInt32)length error:(NSError *__autoreleasing *)error
|
||||
{
|
||||
int got = 0;
|
||||
UInt32 got = 0;
|
||||
NSInteger total = 0;
|
||||
while (got < length) {
|
||||
|
||||
|
|
2
vendor/git.apache.org/thrift.git/lib/cocoa/src/transport/TSocketTransport.h
generated
vendored
2
vendor/git.apache.org/thrift.git/lib/cocoa/src/transport/TSocketTransport.h
generated
vendored
|
@ -28,6 +28,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
-(id) initWithHostname:(NSString *)hostname
|
||||
port:(int)port;
|
||||
|
||||
-(id) initWithPath:(NSString *)path;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
|
|
68
vendor/git.apache.org/thrift.git/lib/cocoa/src/transport/TSocketTransport.m
generated
vendored
68
vendor/git.apache.org/thrift.git/lib/cocoa/src/transport/TSocketTransport.m
generated
vendored
|
@ -24,21 +24,21 @@
|
|||
#import <CFNetwork/CFNetwork.h>
|
||||
#endif
|
||||
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <sys/un.h>
|
||||
|
||||
@interface TSocketTransport () <NSStreamDelegate>
|
||||
@end
|
||||
|
||||
|
||||
@implementation TSocketTransport
|
||||
|
||||
-(id) initWithHostname:(NSString *)hostname
|
||||
port:(int)port
|
||||
- (id) initWithReadStream: (CFReadStreamRef) readStream writeStream: (CFWriteStreamRef) writeStream
|
||||
{
|
||||
NSInputStream *inputStream = nil;
|
||||
NSOutputStream *outputStream = nil;
|
||||
|
||||
CFReadStreamRef readStream = NULL;
|
||||
CFWriteStreamRef writeStream = NULL;
|
||||
CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault, (__bridge CFStringRef)hostname, port, &readStream, &writeStream);
|
||||
if (readStream && writeStream) {
|
||||
|
||||
CFReadStreamSetProperty(readStream, kCFStreamPropertyShouldCloseNativeSocket, kCFBooleanTrue);
|
||||
|
@ -70,4 +70,62 @@
|
|||
return [super initWithInputStream:inputStream outputStream:outputStream];
|
||||
}
|
||||
|
||||
- (id) initWithHostname: (NSString *) hostname
|
||||
port: (int) port
|
||||
{
|
||||
CFReadStreamRef readStream = NULL;
|
||||
CFWriteStreamRef writeStream = NULL;
|
||||
CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault, (__bridge CFStringRef)hostname, port, &readStream, &writeStream);
|
||||
return [self initWithReadStream:readStream writeStream:writeStream];
|
||||
}
|
||||
|
||||
- (id) initWithPath: (NSString *) path
|
||||
{
|
||||
CFSocketNativeHandle sockfd = socket(AF_LOCAL, SOCK_STREAM, IPPROTO_IP);
|
||||
int yes = 1;
|
||||
if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes)) < 0)
|
||||
{
|
||||
NSLog(@"TSocketTransport: Unable to set REUSEADDR property of socket.");
|
||||
return nil;
|
||||
}
|
||||
|
||||
NSData *serverAddress = [[self class] createAddressWithPath:path];
|
||||
|
||||
CFReadStreamRef readStream = NULL;
|
||||
CFWriteStreamRef writeStream = NULL;
|
||||
CFStreamCreatePairWithSocket(kCFAllocatorDefault, sockfd, &readStream, &writeStream);
|
||||
if (!readStream || !writeStream)
|
||||
{
|
||||
NSLog(@"TSocketTransport: Unable to create read/write stream pair for socket.");
|
||||
return nil;
|
||||
}
|
||||
|
||||
if (connect(sockfd, (struct sockaddr *)serverAddress.bytes, (socklen_t) serverAddress.length) < 0)
|
||||
{
|
||||
NSLog(@"TSocketTransport: Connect error: %s\n", strerror(errno));
|
||||
return nil;
|
||||
}
|
||||
|
||||
return [self initWithReadStream:readStream writeStream:writeStream];
|
||||
}
|
||||
|
||||
+ (NSData *) createAddressWithPath: (NSString *)path
|
||||
{
|
||||
struct sockaddr_un servaddr;
|
||||
|
||||
size_t nullTerminatedPathLength = path.length + 1;
|
||||
if (nullTerminatedPathLength> sizeof(servaddr.sun_path)) {
|
||||
NSLog(@"TSocketTransport: Unable to create socket at path %@. Path is too long.", path);
|
||||
return nil;
|
||||
}
|
||||
|
||||
bzero(&servaddr,sizeof(servaddr));
|
||||
servaddr.sun_family = AF_LOCAL;
|
||||
memcpy(servaddr.sun_path, path.UTF8String, nullTerminatedPathLength);
|
||||
servaddr.sun_len = SUN_LEN(&servaddr);
|
||||
|
||||
return [NSData dataWithBytes:&servaddr length:sizeof(servaddr)];
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue