 extension UDPClient : PacketSender {
   
   public var available : Bool {
-    return !socket.closed
+    return socket.isActive
   }
   
   public func send(packet: OSCConvertible) {
-    try? socket.write(packet.oscValue, deadline: 1.second.fromNow())
+    // FIXME - send packet.oscValue
   }
 }
 

// MARK: Two-way communication

public struct UDPBridge {
  let outSocket: UDPSendingSocket
  let inSocket: UDPSocket
}




public class UDPClient {

  public let socket: Socket

  public init(withSocket socket: Socket) {
    self.socket = socket
  }

  public convenience init?(localPort: Int, remotePort: Int) {
    guard
      let socket = try? Socket.create(family: .inet, type: .datagram, proto: .udp)
    else {
      return nil
    }
