307 lines
21 KiB
TeX
307 lines
21 KiB
TeX
\hypertarget{classKite_1_1Session}{\subsection{Session Class Reference}
|
|
\label{classKite_1_1Session}\index{Session@{Session}}
|
|
}
|
|
|
|
|
|
\hyperlink{namespaceKite}{Kite} update \hyperlink{classKite_1_1Session}{Session}.
|
|
|
|
|
|
|
|
|
|
Inheritance diagram for Session\-:\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[width=168pt]{classKite_1_1Session__inherit__graph}
|
|
\end{center}
|
|
\end{figure}
|
|
\subsubsection*{Static Public Member Functions}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
static \hyperlink{classKite_1_1Session}{Session} $\ast$ \hyperlink{classKite_1_1Session_ab8362982a442b5a67f5bd76d6b6caf93}{open} (\hyperlink{classKite_1_1KiteEngine}{Kite\-Engine} $\ast$)
|
|
\item
|
|
static \hyperlink{classKite_1_1Session}{Session} $\ast$ \hyperlink{classKite_1_1Session_a76f17c3642eaeba85fa0af5ae9d208b4}{get} (const char $\ast$message=N\-U\-L\-L)
|
|
\item
|
|
static {\bf Katabatic\-::\-Session} $\ast$ \hyperlink{classKite_1_1Session_a8a3fc782c34dc075bb2e14209e245494}{base} ()
|
|
\item
|
|
static bool \hyperlink{classKite_1_1Session_af337ffd75e4f019ce15302c60715d84b}{is\-Empty} ()
|
|
\item
|
|
static \hyperlink{classKite_1_1KiteEngine}{Kite\-Engine} $\ast$ \hyperlink{classKite_1_1Session_a7b6c91acd2c2a7c082b3b006c1bdc91d}{get\-Kite\-Engine} ()
|
|
\item
|
|
static Configuration $\ast$ \hyperlink{classKite_1_1Session_a9a7fbadfe526875680f698c76adfb128}{get\-Configuration} ()
|
|
\item
|
|
static {\bf Net} $\ast$ \hyperlink{classKite_1_1Session_aef6f41b0e8265ad574d1797f46ab9fa8}{get\-Blockage\-Net} ()
|
|
\item
|
|
static \hyperlink{classKite_1_1NegociateWindow}{Negociate\-Window} $\ast$ \hyperlink{classKite_1_1Session_a39ebff178f2e0abb9d5a29f485e0bbab}{get\-Negociate\-Window} ()
|
|
\item
|
|
static {\bf Katabatic\-::\-G\-Cell} $\ast$ \hyperlink{classKite_1_1Session_a27ecb1cf5ffabe1c7901c5c894a5067d}{get\-G\-Cell\-Under} ({\bf Db\-U\-::\-Unit}, {\bf Db\-U\-::\-Unit})
|
|
\item
|
|
static void \hyperlink{classKite_1_1Session_ad4f08dfb62ce626ed72023ce02e7205f}{add\-Insert\-Event} (\hyperlink{classKite_1_1TrackElement}{Track\-Element} $\ast$, \hyperlink{classKite_1_1Track}{Track} $\ast$)
|
|
\item
|
|
static void \hyperlink{classKite_1_1Session_aedd573fc951ed93f8ada5b0522813c3a}{add\-Remove\-Event} (\hyperlink{classKite_1_1TrackElement}{Track\-Element} $\ast$)
|
|
\item
|
|
static void \hyperlink{classKite_1_1Session_aa42e4cb9e2559c00d68821f535ef7838}{add\-Move\-Event} (\hyperlink{classKite_1_1TrackElement}{Track\-Element} $\ast$, \hyperlink{classKite_1_1Track}{Track} $\ast$)
|
|
\item
|
|
static void \hyperlink{classKite_1_1Session_a990d32b1f1ea661b088a05f86319772f}{add\-Sort\-Event} (\hyperlink{classKite_1_1Track}{Track} $\ast$, bool forced=false)
|
|
\item
|
|
static size\-\_\-t \hyperlink{classKite_1_1Session_a5bd93abe1416952ace15a98dbeeed124}{revalidate} ()
|
|
\item
|
|
static \hyperlink{classKite_1_1TrackElement}{Track\-Element} $\ast$ \hyperlink{classKite_1_1Session_a1728621b96081c32fb7bfb18a0ebfad3}{lookup} ({\bf Segment} $\ast$)
|
|
\item
|
|
static \hyperlink{classKite_1_1TrackElement}{Track\-Element} $\ast$ \hyperlink{classKite_1_1Session_a3946039ef19b5b6994171288f183bdaf}{lookup} ({\bf Auto\-Segment} $\ast$)
|
|
\end{DoxyCompactItemize}
|
|
|
|
|
|
\subsubsection{Detailed Description}
|
|
\hyperlink{namespaceKite}{Kite} update \hyperlink{classKite_1_1Session}{Session}.
|
|
|
|
\hyperlink{classKite_1_1Session}{Session} extend the {\bf Katabatic} update session to the \hyperlink{namespaceKite}{Kite} router level. Mainly by managing \hyperlink{classKite_1_1Track}{Track} update.
|
|
|
|
{\bfseries Difference between \hyperlink{namespaceKite}{Kite} \& {\bf Katabatic} sessions\-:}
|
|
\begin{DoxyItemize}
|
|
\item In {\bf Katabatic}, segments are actually moved {\itshape before} the revalidation, then {\itshape during} the revalidation, contacts and topologies are adjusteds
|
|
\item In \hyperlink{namespaceKite}{Kite}, nothing is moved until the revalidation. Requests for segment displacement are queued for the session.
|
|
\end{DoxyItemize}
|
|
|
|
{\bfseries Asymmetry between invalidation \& revalidation\-:}
|
|
\begin{DoxyItemize}
|
|
\item When a \hyperlink{classKite_1_1TrackSegment}{Track\-Segment} (or directly an Auto\-Segment) is invalidated both associated Auto\-Segment and \hyperlink{classKite_1_1TrackSegment}{Track\-Segment} are invalidated (through the Observer mechanism).
|
|
\item When an Auto\-Segment is revalidated, the \hyperlink{classKite_1_1TrackSegment}{Track\-Segment} is {\bfseries not} immediatly revalidated. See the revalidate algorithm for more details.
|
|
\end{DoxyItemize}
|
|
|
|
{\bfseries Indirect \hyperlink{classKite_1_1TrackSegment}{Track\-Segment} invalidation\-:}
|
|
\begin{DoxyItemize}
|
|
\item \hyperlink{classKite_1_1TrackSegment}{Track\-Segment} invalidation do not result only from direct insertion in \hyperlink{classKite_1_1Track}{Track}. For example, any or all of it's perpandicular can be invalidated trough the {\bf Katabatic\-::\-Session} update (the perpandicular {\bf Katabatic\-::\-Auto\-Segment} is revalidated, generating invalidation on their associated \hyperlink{classKite_1_1TrackSegment}{Track\-Segment}).
|
|
\end{DoxyItemize}
|
|
|
|
For details on how {\bf Katabatic} Sessions works, have a look to {\bf Katabatic\-::\-Session}.\hypertarget{classKite_1_1Session_secSessionMechanism}{}\subsubsection{The Session Mechanism.}\label{classKite_1_1Session_secSessionMechanism}
|
|
Delayed modification procedure \-:
|
|
\begin{DoxyItemize}
|
|
\item Modifications events are recorded (queued) into the \hyperlink{classKite_1_1Session}{Session}. At this step, no modification are actually done, the data-\/base retains it's previous state and coherency.
|
|
\item The {\ttfamily \hyperlink{classKite_1_1Session_a5bd93abe1416952ace15a98dbeeed124}{revalidate()}} procedure is called (or the \hyperlink{classKite_1_1Session}{Session} is closed), then all the modification events are applied. The data-\/base is in now in it's new state.
|
|
\end{DoxyItemize}\hypertarget{classKite_1_1Session_secKiteSessionRevalidate}{}\subsubsection{The Revalidate Algorithm.}\label{classKite_1_1Session_secKiteSessionRevalidate}
|
|
Revalidation steps \-:
|
|
\begin{DoxyItemize}
|
|
\item Process all remove events. detach \hyperlink{classKite_1_1TrackSegment}{Track\-Segment} from their \hyperlink{classKite_1_1Track}{Track}, but do not remove the pointer from the internal {\ttfamily vector}.
|
|
\item Pack all \hyperlink{classKite_1_1Track}{Track} in which removal have took place.
|
|
\item Process all insert events. {\bfseries This is the time \hyperlink{classKite_1_1TrackSegment}{Track\-Segment} are moved into their new \hyperlink{classKite_1_1Track}{Track} (physical displacement)}. It is at this point that the invalidation of both Auto\-Segment and \hyperlink{classKite_1_1TrackSegment}{Track\-Segment} is done.
|
|
\item Call the {\bf Katabatic\-::\-Session\-::revalidate()} method which will recompute the correct contact extensions and topologies. {\itshape After} this step the {\bf Katabatic} data-\/base is up to date, but {\itshape not} the \hyperlink{namespaceKite}{Kite} one. Auto\-Segment are revalidated.
|
|
\item Recompute the canonical position of source and target of all invalidateds \hyperlink{classKite_1_1TrackSegment}{Track\-Segment} (take account of extention modifications). The set of invalidated \hyperlink{classKite_1_1TrackSegment}{Track\-Segment} is computed from the revalidated Auto\-Segment, that is Auto\-Segment that are canonical.
|
|
\item Perform a sort() on all \hyperlink{classKite_1_1Track}{Track} that have been modifieds.
|
|
\item Now that the size of the segments have been accurately computed, look for revalidateds \hyperlink{classKite_1_1TrackSegment}{Track\-Segment} that\-:
|
|
\begin{DoxyEnumerate}
|
|
\item Can be reduced, generate a track remove event.
|
|
\item Must be raised, generate a routing event (put into the queue).
|
|
\end{DoxyEnumerate}
|
|
\item Process the additional track remove events.
|
|
\end{DoxyItemize}
|
|
|
|
{\bfseries Note\-:} We cannot use the Observer mechanism to automatically update \hyperlink{classKite_1_1TrackSegment}{Track\-Segment} from an Auto\-Segment, because we must wait for all Auto\-Segments (canonical or not) involved into the \hyperlink{classKite_1_1TrackSegment}{Track\-Segment} to be up to date before we can update it.
|
|
|
|
{\bfseries Note\-:} Have to talk about the special case when new canonical Auto\-Segment appears after dogleg creation.\hypertarget{classKite_1_1Session_secKiteSessionLookup}{}\subsubsection{The Lookup Mechanism}\label{classKite_1_1Session_secKiteSessionLookup}
|
|
There are two lookup mechanisms\-:
|
|
\begin{DoxyItemize}
|
|
\item From a {\bf Hurricane\-::\-Segment}, we uses the {\bf Katabatic} segment lookup table (slow, stored in a {\ttfamily map$<$$>$}).
|
|
\item From a {\bf Katabatic\-::\-Auto\-Segment}, we uses the Observer, it's owner is the \hyperlink{classKite_1_1TrackSegment}{Track\-Segment} (fast).
|
|
\end{DoxyItemize}
|
|
|
|
\subsubsection{Member Function Documentation}
|
|
\hypertarget{classKite_1_1Session_ab8362982a442b5a67f5bd76d6b6caf93}{\index{Kite\-::\-Session@{Kite\-::\-Session}!open@{open}}
|
|
\index{open@{open}!Kite::Session@{Kite\-::\-Session}}
|
|
\paragraph[{open}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Session} $\ast$ open (
|
|
\begin{DoxyParamCaption}
|
|
\item[{{\bf Kite\-Engine} $\ast$}]{kite}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [static]}}}\label{classKite_1_1Session_ab8362982a442b5a67f5bd76d6b6caf93}
|
|
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em kite} & A \hyperlink{namespaceKite}{Kite} Tool\-Engine on which to work. \\
|
|
\hline
|
|
\end{DoxyParams}
|
|
\begin{DoxyReturn}{Returns}
|
|
A new \hyperlink{namespaceKite}{Kite} update \hyperlink{classKite_1_1Session}{Session}.
|
|
\end{DoxyReturn}
|
|
Open a new \hyperlink{namespaceKite}{Kite} update \hyperlink{classKite_1_1Session}{Session} on the {\ttfamily kite} {\ttfamily Tool\-Engine}. At this point only one session can be opened at a time. Attempt to open a second one will result in an exception. \hypertarget{classKite_1_1Session_a76f17c3642eaeba85fa0af5ae9d208b4}{\index{Kite\-::\-Session@{Kite\-::\-Session}!get@{get}}
|
|
\index{get@{get}!Kite::Session@{Kite\-::\-Session}}
|
|
\paragraph[{get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Session} $\ast$ get (
|
|
\begin{DoxyParamCaption}
|
|
\item[{const char $\ast$}]{message = {\ttfamily NULL}}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [static]}}}\label{classKite_1_1Session_a76f17c3642eaeba85fa0af5ae9d208b4}
|
|
{\bfseries Returns\-:} The currently opened session, {\ttfamily N\-U\-L\-L} if no session has been opened.
|
|
|
|
Referenced by Negociate\-Window\-::run().
|
|
|
|
\hypertarget{classKite_1_1Session_a8a3fc782c34dc075bb2e14209e245494}{\index{Kite\-::\-Session@{Kite\-::\-Session}!base@{base}}
|
|
\index{base@{base}!Kite::Session@{Kite\-::\-Session}}
|
|
\paragraph[{base}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Katabatic\-::\-Session} $\ast$ base (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classKite_1_1Session_a8a3fc782c34dc075bb2e14209e245494}
|
|
{\bfseries Returns\-:} The \hyperlink{classKite_1_1Session}{Session}, casted as it's base object. \hypertarget{classKite_1_1Session_af337ffd75e4f019ce15302c60715d84b}{\index{Kite\-::\-Session@{Kite\-::\-Session}!is\-Empty@{is\-Empty}}
|
|
\index{is\-Empty@{is\-Empty}!Kite::Session@{Kite\-::\-Session}}
|
|
\paragraph[{is\-Empty}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Empty (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classKite_1_1Session_af337ffd75e4f019ce15302c60715d84b}
|
|
Ensure that the \hyperlink{classKite_1_1Session}{Session} is empty and can be closed (deleted) safely.
|
|
|
|
Referenced by Negociate\-Window\-::run().
|
|
|
|
\hypertarget{classKite_1_1Session_a7b6c91acd2c2a7c082b3b006c1bdc91d}{\index{Kite\-::\-Session@{Kite\-::\-Session}!get\-Kite\-Engine@{get\-Kite\-Engine}}
|
|
\index{get\-Kite\-Engine@{get\-Kite\-Engine}!Kite::Session@{Kite\-::\-Session}}
|
|
\paragraph[{get\-Kite\-Engine}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Kite\-Engine} $\ast$ get\-Kite\-Engine (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classKite_1_1Session_a7b6c91acd2c2a7c082b3b006c1bdc91d}
|
|
{\bfseries Returns\-:} The \hyperlink{namespaceKite}{Kite} Tool\-Engine associated to the current update session (proxy helper).
|
|
|
|
Referenced by Manipulator\-::can\-Ripup(), Segment\-Fsm\-::conflict\-Solve\-By\-History(), Segment\-Fsm\-::conflict\-Solve\-By\-Placeds(), Negociate\-Window\-::create\-Track\-Segment(), Segment\-Action\-::do\-Action(), Routing\-Event\-::process(), Routing\-Event\-::revalidate(), Manipulator\-::ripple(), Manipulator\-::ripup\-Perpandiculars(), Negociate\-Window\-::run(), Segment\-Fsm\-::\-Segment\-Fsm(), and Negociate\-Window\-::set\-G\-Cells().
|
|
|
|
\hypertarget{classKite_1_1Session_a9a7fbadfe526875680f698c76adfb128}{\index{Kite\-::\-Session@{Kite\-::\-Session}!get\-Configuration@{get\-Configuration}}
|
|
\index{get\-Configuration@{get\-Configuration}!Kite::Session@{Kite\-::\-Session}}
|
|
\paragraph[{get\-Configuration}]{\setlength{\rightskip}{0pt plus 5cm}Configuration $\ast$ get\-Configuration (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [static]}}}\label{classKite_1_1Session_a9a7fbadfe526875680f698c76adfb128}
|
|
{\bfseries Returns\-:} The \hyperlink{namespaceKite}{Kite} Configuration of the Router (proxy helper). \hypertarget{classKite_1_1Session_aef6f41b0e8265ad574d1797f46ab9fa8}{\index{Kite\-::\-Session@{Kite\-::\-Session}!get\-Blockage\-Net@{get\-Blockage\-Net}}
|
|
\index{get\-Blockage\-Net@{get\-Blockage\-Net}!Kite::Session@{Kite\-::\-Session}}
|
|
\paragraph[{get\-Blockage\-Net}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Net} $\ast$ get\-Blockage\-Net (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classKite_1_1Session_aef6f41b0e8265ad574d1797f46ab9fa8}
|
|
{\bfseries Returns\-:} The net used to create blockage components (proxy helper).
|
|
|
|
Referenced by Track\-Fixed\-Segment\-::create().
|
|
|
|
\hypertarget{classKite_1_1Session_a39ebff178f2e0abb9d5a29f485e0bbab}{\index{Kite\-::\-Session@{Kite\-::\-Session}!get\-Negociate\-Window@{get\-Negociate\-Window}}
|
|
\index{get\-Negociate\-Window@{get\-Negociate\-Window}!Kite::Session@{Kite\-::\-Session}}
|
|
\paragraph[{get\-Negociate\-Window}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Negociate\-Window} $\ast$ get\-Negociate\-Window (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classKite_1_1Session_a39ebff178f2e0abb9d5a29f485e0bbab}
|
|
{\bfseries Returns\-:} The current \hyperlink{classKite_1_1NegociateWindow}{Negociate\-Window} (proxy helper).
|
|
|
|
Referenced by Track\-Segment\-::\-\_\-post\-Doglegs(), and Track\-Segment\-::reschedule().
|
|
|
|
\hypertarget{classKite_1_1Session_a27ecb1cf5ffabe1c7901c5c894a5067d}{\index{Kite\-::\-Session@{Kite\-::\-Session}!get\-G\-Cell\-Under@{get\-G\-Cell\-Under}}
|
|
\index{get\-G\-Cell\-Under@{get\-G\-Cell\-Under}!Kite::Session@{Kite\-::\-Session}}
|
|
\paragraph[{get\-G\-Cell\-Under}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Katabatic\-::\-G\-Cell} $\ast$ get\-G\-Cell\-Under (
|
|
\begin{DoxyParamCaption}
|
|
\item[{{\bf Db\-U\-::\-Unit}}]{x, }
|
|
\item[{{\bf Db\-U\-::\-Unit}}]{y}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classKite_1_1Session_a27ecb1cf5ffabe1c7901c5c894a5067d}
|
|
{\bfseries Returns\-:} The G\-Cell under {\ttfamily }(x,y) (proxy helper, see {\bf Katabatic\-::\-G\-Cell\-Grid\-::get\-G\-Cell()}).
|
|
|
|
Referenced by Segment\-Fsm\-::conflict\-Solve\-By\-History().
|
|
|
|
\hypertarget{classKite_1_1Session_ad4f08dfb62ce626ed72023ce02e7205f}{\index{Kite\-::\-Session@{Kite\-::\-Session}!add\-Insert\-Event@{add\-Insert\-Event}}
|
|
\index{add\-Insert\-Event@{add\-Insert\-Event}!Kite::Session@{Kite\-::\-Session}}
|
|
\paragraph[{add\-Insert\-Event}]{\setlength{\rightskip}{0pt plus 5cm}void add\-Insert\-Event (
|
|
\begin{DoxyParamCaption}
|
|
\item[{{\bf Track\-Element} $\ast$}]{segment, }
|
|
\item[{{\bf Track} $\ast$}]{track}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classKite_1_1Session_ad4f08dfb62ce626ed72023ce02e7205f}
|
|
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em segment} & An Auto\-Segment to insert in a \hyperlink{classKite_1_1Track}{Track}. \\
|
|
\hline
|
|
{\em track} & The \hyperlink{classKite_1_1Track}{Track} into which the {\itshape segment} will be inserted.\\
|
|
\hline
|
|
\end{DoxyParams}
|
|
Schedule the insertion of {\itshape segment} into \hyperlink{classKite_1_1Track}{Track} {\itshape track}. The {\itshape segment} must not already be part of a \hyperlink{classKite_1_1Track}{Track}. \hypertarget{classKite_1_1Session_aedd573fc951ed93f8ada5b0522813c3a}{\index{Kite\-::\-Session@{Kite\-::\-Session}!add\-Remove\-Event@{add\-Remove\-Event}}
|
|
\index{add\-Remove\-Event@{add\-Remove\-Event}!Kite::Session@{Kite\-::\-Session}}
|
|
\paragraph[{add\-Remove\-Event}]{\setlength{\rightskip}{0pt plus 5cm}void add\-Remove\-Event (
|
|
\begin{DoxyParamCaption}
|
|
\item[{{\bf Track\-Element} $\ast$}]{segment}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classKite_1_1Session_aedd573fc951ed93f8ada5b0522813c3a}
|
|
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em segment} & A \hyperlink{classKite_1_1TrackSegment}{Track\-Segment} to remove from a \hyperlink{classKite_1_1Track}{Track}.\\
|
|
\hline
|
|
\end{DoxyParams}
|
|
Schedule the removal of {\itshape segment} from \hyperlink{classKite_1_1Track}{Track} {\itshape track}.
|
|
|
|
Referenced by Segment\-Action\-::do\-Action(), and Track\-Segment\-::reschedule().
|
|
|
|
\hypertarget{classKite_1_1Session_aa42e4cb9e2559c00d68821f535ef7838}{\index{Kite\-::\-Session@{Kite\-::\-Session}!add\-Move\-Event@{add\-Move\-Event}}
|
|
\index{add\-Move\-Event@{add\-Move\-Event}!Kite::Session@{Kite\-::\-Session}}
|
|
\paragraph[{add\-Move\-Event}]{\setlength{\rightskip}{0pt plus 5cm}void add\-Move\-Event (
|
|
\begin{DoxyParamCaption}
|
|
\item[{{\bf Track\-Element} $\ast$}]{segment, }
|
|
\item[{{\bf Track} $\ast$}]{track}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classKite_1_1Session_aa42e4cb9e2559c00d68821f535ef7838}
|
|
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em segment} & An Auto\-Segment to move into a new \hyperlink{classKite_1_1Track}{Track}. \\
|
|
\hline
|
|
{\em track} & The \hyperlink{classKite_1_1Track}{Track} into which the {\itshape segment} will be moved.\\
|
|
\hline
|
|
\end{DoxyParams}
|
|
Schedule the displacement of {\itshape segment} into \hyperlink{classKite_1_1Track}{Track} {\itshape track}. \hypertarget{classKite_1_1Session_a990d32b1f1ea661b088a05f86319772f}{\index{Kite\-::\-Session@{Kite\-::\-Session}!add\-Sort\-Event@{add\-Sort\-Event}}
|
|
\index{add\-Sort\-Event@{add\-Sort\-Event}!Kite::Session@{Kite\-::\-Session}}
|
|
\paragraph[{add\-Sort\-Event}]{\setlength{\rightskip}{0pt plus 5cm}void add\-Sort\-Event (
|
|
\begin{DoxyParamCaption}
|
|
\item[{{\bf Track} $\ast$}]{track, }
|
|
\item[{bool}]{forced = {\ttfamily false}}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classKite_1_1Session_a990d32b1f1ea661b088a05f86319772f}
|
|
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em track} & The \hyperlink{classKite_1_1Track}{Track} to update. \\
|
|
\hline
|
|
{\em forced} & Force the invalidation of the {\ttfamily \hyperlink{classKite_1_1Track}{Track}}.\\
|
|
\hline
|
|
\end{DoxyParams}
|
|
Schedule the update of \hyperlink{classKite_1_1Track}{Track} {\itshape track}. If the {\ttfamily \hyperlink{classKite_1_1Track}{Track}} has not been invalidated, no actual sort will takes place. To force a sort (manually invalidating the {\ttfamily \hyperlink{classKite_1_1Track}{Track}}), sets {\bfseries forced} to {\bfseries true}.
|
|
|
|
{\bfseries See also\-:}~ Track\-::pack() \& Track\-::sort().
|
|
|
|
Referenced by Track\-Segment\-::revalidate().
|
|
|
|
\hypertarget{classKite_1_1Session_a5bd93abe1416952ace15a98dbeeed124}{\index{Kite\-::\-Session@{Kite\-::\-Session}!revalidate@{revalidate}}
|
|
\index{revalidate@{revalidate}!Kite::Session@{Kite\-::\-Session}}
|
|
\paragraph[{revalidate}]{\setlength{\rightskip}{0pt plus 5cm}void revalidate (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classKite_1_1Session_a5bd93abe1416952ace15a98dbeeed124}
|
|
Applies all the requested modifications, but keeping the session opened.
|
|
|
|
Referenced by Routing\-Event\-::process(), Negociate\-Window\-::run(), and Negociate\-Window\-::set\-G\-Cells().
|
|
|
|
\hypertarget{classKite_1_1Session_a1728621b96081c32fb7bfb18a0ebfad3}{\index{Kite\-::\-Session@{Kite\-::\-Session}!lookup@{lookup}}
|
|
\index{lookup@{lookup}!Kite::Session@{Kite\-::\-Session}}
|
|
\paragraph[{lookup}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Track\-Element} $\ast$ lookup (
|
|
\begin{DoxyParamCaption}
|
|
\item[{{\bf Segment} $\ast$}]{segment}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [static]}}}\label{classKite_1_1Session_a1728621b96081c32fb7bfb18a0ebfad3}
|
|
{\bfseries Returns\-:} the \hyperlink{classKite_1_1TrackElement}{Track\-Element} associated to {\ttfamily segment}.
|
|
|
|
Referenced by Negociate\-Window\-::compute\-Wirelength(), Track\-Segment\-::create(), Track\-Segment\-::get\-Canonical(), Track\-Segment\-::get\-Parent(), Track\-Segment\-::get\-Source\-Dogleg(), Track\-Segment\-::get\-Target\-Dogleg(), Manipulator\-::relax(), Routing\-Event\-Queue\-::repush\-Invalidateds(), and Negociate\-Window\-::set\-G\-Cells().
|
|
|
|
\hypertarget{classKite_1_1Session_a3946039ef19b5b6994171288f183bdaf}{\index{Kite\-::\-Session@{Kite\-::\-Session}!lookup@{lookup}}
|
|
\index{lookup@{lookup}!Kite::Session@{Kite\-::\-Session}}
|
|
\paragraph[{lookup}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Track\-Element} $\ast$ lookup (
|
|
\begin{DoxyParamCaption}
|
|
\item[{{\bf Auto\-Segment} $\ast$}]{segment}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [static]}}}\label{classKite_1_1Session_a3946039ef19b5b6994171288f183bdaf}
|
|
{\bfseries Returns\-:} the \hyperlink{classKite_1_1TrackElement}{Track\-Element} associated to {\ttfamily segment}.
|
|
|
|
The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
|
|
\item
|
|
Session.\-h\item
|
|
Session.\-dox\end{DoxyCompactItemize}
|