update to docker tests

This commit is contained in:
Joseph Henry
2016-07-06 16:45:42 -05:00
parent 6a17e0f9d5
commit e6fbbfc249
34 changed files with 398 additions and 70 deletions

View File

@@ -19,21 +19,25 @@ class ViewController: NSViewController {
@IBOutlet weak var txtPort: NSTextField!
@IBOutlet weak var btnConnect: NSButton!
@IBOutlet weak var btnBind: NSButton!
@IBOutlet weak var txtTX: NSScrollView!
@IBOutlet weak var txtRX: NSScrollView!
@IBOutlet weak var btnSend: NSButton!
var serverPort:Int32 = 4545
var serverPort:Int32 = 8080
var serverAddr:String = "10.147.18.5"
var sock:Int32 = -1
@IBAction func txtAddrChanged(sender: AnyObject) {
if(sender.value != nil) {
serverAddr = sender.value
if(sender.stringValue != nil) {
serverAddr = sender.stringValue
}
}
@IBAction func txtPortChanged(sender: AnyObject) {
serverPort = sender.intValue!
serverPort = sender.intValue
}
// Join a ZeroTier network
@@ -52,6 +56,7 @@ class ViewController: NSViewController {
selectedShim = sender.intValue // 0 = BSD-style, 1 = SOCKS5 Proxy, etc
}
// Select a protocol
// Protocol { TCP / UDP }
var selectedProtocol:Int32 = 0
@@ -59,21 +64,21 @@ class ViewController: NSViewController {
switch sender.intValue
{
case 0:
print("Selected TCP (SOCK_STREAM)\n");
selectedProtocol = SOCK_STREAM
case 1:
print("Selected UDP (SOCK_DGRAM)\n");
selectedProtocol = SOCK_DGRAM
default:
break;
} }
}
}
// Connect to remote host on ZeroTier virtual network
@IBAction func UI_Connect(sender: AnyObject) {
// TCP
if(selectedProtocol == SOCK_STREAM)
{
let sd = zts_socket(AF_INET, SOCK_STREAM, 0)
sock = zts_socket(AF_INET, SOCK_STREAM, 0)
var addr = sockaddr_in(sin_len: UInt8(sizeof(sockaddr_in)),
sin_family: UInt8(AF_INET),
sin_port: UInt16(serverPort).bigEndian,
@@ -82,10 +87,10 @@ class ViewController: NSViewController {
inet_pton(AF_INET, serverAddr, &(addr.sin_addr));
let connect_fd = zts_connect(sd, UnsafePointer<sockaddr>([addr]), UInt32(addr.sin_len))
print("connect_fd = \(connect_fd),\(errno)")
let connect_err = zts_connect(sock, UnsafePointer<sockaddr>([addr]), UInt32(addr.sin_len))
print("connect_err = \(connect_err),\(errno)")
if connect_fd < 0 {
if connect_err < 0 {
let err = errno
print("Error connecting IPv4 socket \(err)")
return
@@ -99,32 +104,52 @@ class ViewController: NSViewController {
}
}
// Bind a ZeroTier socket
@IBAction func UI_Bind(sender: AnyObject) {
}
@IBAction func UI_SendData(sender: AnyObject) {
}
/*
// Mode { Client / Server }
@IBOutlet weak var ModeControl: UISegmentedControl!
var selectedMode:UInt16 = 0
@IBAction func ModeControlSelected(sender: AnyObject) {
switch sender.selectedSegmentIndex
// TCP
if(selectedProtocol == SOCK_STREAM)
{
case 0:
print("Selected client\n");
selectedMode = 0
case 1:
print("Selected server\n");
selectedMode = 1
default:
break;
sock = zts_socket(AF_INET, SOCK_STREAM, 0)
var addr = sockaddr_in(sin_len: UInt8(sizeof(sockaddr_in)),
sin_family: UInt8(AF_INET),
sin_port: UInt16(serverPort).bigEndian,
sin_addr: in_addr(s_addr: 0),
sin_zero: (0,0,0,0,0,0,0,0))
inet_pton(AF_INET, serverAddr, &(addr.sin_addr));
let bind_err = zts_bind(sock, UnsafePointer<sockaddr>([addr]), UInt32(addr.sin_len))
print("bind_err = \(bind_err),\(errno)")
if bind_err < 0 {
let err = errno
print("Error binding IPv4 socket \(err)")
return
}
}
// UDP
if(selectedProtocol == SOCK_DGRAM)
{
}
}
// Send data to a remote host
@IBAction func UI_SendData(sender: AnyObject) {
// Use ordinary read/write calls on ZeroTier socket
// TCP
if(selectedProtocol == SOCK_STREAM)
{
write(sock, "test", 4);
}
// UDP
if(selectedProtocol == SOCK_DGRAM)
{
}
}
*/
var service_thread : NSThread!
@@ -140,6 +165,10 @@ class ViewController: NSViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Set initial UI values for demo
txtAddr.stringValue = serverAddr
txtPort.intValue = serverPort
// ZeroTier Service thread
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), {
self.service_thread = NSThread(target:self, selector:"ztnc_start_service", object:nil)
@@ -155,7 +184,5 @@ class ViewController: NSViewController {
// Update the view, if already loaded.
}
}
}