+(defgeneric reconnect (conncetion))
+
+(defmethod reconnect ((c connection))
+ (with-slots (server-name server-port user password socket stream connection-handler) c
+ (let* ((sock (usocket:socket-connect server-name server-port))
+ (s (usocket:socket-stream sock))
+ (handler (spawn-with-name (format nil "empire-handler-~a" user)
+ #'handle-connection c)))
+ (setf socket sock
+ stream s
+ connection-handler handler)))
+ (empire-log:info "empire:reconnect: ~a" c))