public MotionPermissionRequest Dequeue(MotionPermissionRequest request) { var edge = FindEdge(request.StartVertex, request.DestinationVertex); if (edge != null) { return(dictBusyEdges[edge].Dequeue()); } return(null); }
public bool Enqueue(MotionPermissionRequest request) { var edge = FindEdge(request.StartVertex, request.DestinationVertex); if (edge != null) { dictBusyEdges[edge].Enqueue(request); } return(edge != null); }
public MotionPermissionRequest Peek(MotionPermissionRequest request) { var edge = FindEdge(request.StartVertex, request.DestinationVertex); MotionPermissionRequest peek; try { peek = dictBusyEdges[edge].Peek(); } catch { peek = null; } return(peek); }
public bool IsFree(MotionPermissionRequest request) { var edge = FindEdge(request.StartVertex, request.DestinationVertex); return((edge != null) ? dictBusyEdges[edge].Count == 0 : false); }
public bool ContainsEdge(MotionPermissionRequest request) { return(FindEdge(request.StartVertex, request.DestinationVertex) != null); }