2018-08-19 06:27:09 -05:00
\hypertarget { classKite_ 1_ 1Session} { \subsection { Session Class Reference}
2018-06-06 11:42:26 -05:00
\label { classKite_ 1_ 1Session} \index { Session@{ Session} }
2018-08-19 06:27:09 -05:00
}
2018-06-06 11:42:26 -05:00
\hyperlink { namespaceKite} { Kite} update \hyperlink { classKite_ 1_ 1Session} { Session} .
2018-08-19 06:27:09 -05:00
Inheritance diagram for Session\- :\nopagebreak
2018-06-06 11:42:26 -05:00
\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
2018-08-19 06:27:09 -05:00
static \hyperlink { classKite_ 1_ 1Session} { Session} $ \ast $ \hyperlink { classKite_ 1_ 1Session_ ab8362982a442b5a67f5bd76d6b6caf93} { open} (\hyperlink { classKite_ 1_ 1KiteEngine} { Kite\- Engine} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static \hyperlink { classKite_ 1_ 1Session} { Session} $ \ast $ \hyperlink { classKite_ 1_ 1Session_ a76f17c3642eaeba85fa0af5ae9d208b4} { get} (const char $ \ast $ message=N\- U\- L\- L)
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static { \bf Katabatic\- ::\- Session} $ \ast $ \hyperlink { classKite_ 1_ 1Session_ a8a3fc782c34dc075bb2e14209e245494} { base} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static bool \hyperlink { classKite_ 1_ 1Session_ af337ffd75e4f019ce15302c60715d84b} { is\- Empty} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static \hyperlink { classKite_ 1_ 1KiteEngine} { Kite\- Engine} $ \ast $ \hyperlink { classKite_ 1_ 1Session_ a7b6c91acd2c2a7c082b3b006c1bdc91d} { get\- Kite\- Engine} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static Configuration $ \ast $ \hyperlink { classKite_ 1_ 1Session_ a9a7fbadfe526875680f698c76adfb128} { get\- Configuration} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static { \bf Net} $ \ast $ \hyperlink { classKite_ 1_ 1Session_ aef6f41b0e8265ad574d1797f46ab9fa8} { get\- Blockage\- Net} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static \hyperlink { classKite_ 1_ 1NegociateWindow} { Negociate\- Window} $ \ast $ \hyperlink { classKite_ 1_ 1Session_ a39ebff178f2e0abb9d5a29f485e0bbab} { get\- Negociate\- Window} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static { \bf Katabatic\- ::\- G\- Cell} $ \ast $ \hyperlink { classKite_ 1_ 1Session_ a27ecb1cf5ffabe1c7901c5c894a5067d} { get\- G\- Cell\- Under} ({ \bf Db\- U\- ::\- Unit} , { \bf Db\- U\- ::\- Unit} )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static void \hyperlink { classKite_ 1_ 1Session_ ad4f08dfb62ce626ed72023ce02e7205f} { add\- Insert\- Event} (\hyperlink { classKite_ 1_ 1TrackElement} { Track\- Element} $ \ast $ , \hyperlink { classKite_ 1_ 1Track} { Track} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static void \hyperlink { classKite_ 1_ 1Session_ aedd573fc951ed93f8ada5b0522813c3a} { add\- Remove\- Event} (\hyperlink { classKite_ 1_ 1TrackElement} { Track\- Element} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static void \hyperlink { classKite_ 1_ 1Session_ aa42e4cb9e2559c00d68821f535ef7838} { add\- Move\- Event} (\hyperlink { classKite_ 1_ 1TrackElement} { Track\- Element} $ \ast $ , \hyperlink { classKite_ 1_ 1Track} { Track} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static void \hyperlink { classKite_ 1_ 1Session_ a990d32b1f1ea661b088a05f86319772f} { add\- Sort\- Event} (\hyperlink { classKite_ 1_ 1Track} { Track} $ \ast $ , bool forced=false)
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static size\- \_ \- t \hyperlink { classKite_ 1_ 1Session_ a5bd93abe1416952ace15a98dbeeed124} { revalidate} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static \hyperlink { classKite_ 1_ 1TrackElement} { Track\- Element} $ \ast $ \hyperlink { classKite_ 1_ 1Session_ a1728621b96081c32fb7bfb18a0ebfad3} { lookup} ({ \bf Segment} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static \hyperlink { classKite_ 1_ 1TrackElement} { Track\- Element} $ \ast $ \hyperlink { classKite_ 1_ 1Session_ a3946039ef19b5b6994171288f183bdaf} { lookup} ({ \bf Auto\- Segment} $ \ast $ )
2018-06-06 11:42:26 -05:00
\end { DoxyCompactItemize}
\subsubsection { Detailed Description}
\hyperlink { namespaceKite} { Kite} update \hyperlink { classKite_ 1_ 1Session} { Session} .
2018-08-19 06:27:09 -05:00
\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.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
{ \bfseries Difference between \hyperlink { namespaceKite} { Kite} \& { \bf Katabatic} sessions\- :}
2018-06-06 11:42:26 -05:00
\begin { DoxyItemize}
2018-08-19 06:27:09 -05:00
\item In { \bf Katabatic} , segments are actually moved { \itshape before} the revalidation, then { \itshape during} the revalidation, contacts and topologies are adjusteds
2018-06-06 11:42:26 -05:00
\item In \hyperlink { namespaceKite} { Kite} , nothing is moved until the revalidation. Requests for segment displacement are queued for the session.
\end { DoxyItemize}
2018-08-19 06:27:09 -05:00
{ \bfseries Asymmetry between invalidation \& revalidation\- :}
2018-06-06 11:42:26 -05:00
\begin { DoxyItemize}
2018-08-19 06:27:09 -05:00
\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.
2018-06-06 11:42:26 -05:00
\end { DoxyItemize}
2018-08-19 06:27:09 -05:00
{ \bfseries Indirect \hyperlink { classKite_ 1_ 1TrackSegment} { Track\- Segment} invalidation\- :}
2018-06-06 11:42:26 -05:00
\begin { DoxyItemize}
2018-08-19 06:27:09 -05:00
\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} ).
2018-06-06 11:42:26 -05:00
\end { DoxyItemize}
2018-08-19 06:27:09 -05:00
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 \- :
2018-06-06 11:42:26 -05:00
\begin { DoxyItemize}
2018-08-19 06:27:09 -05:00
\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.
2018-06-06 11:42:26 -05:00
\end { DoxyItemize} \hypertarget { classKite_ 1_ 1Session_ secKiteSessionRevalidate} { } \subsubsection { The Revalidate Algorithm.} \label { classKite_ 1_ 1Session_ secKiteSessionRevalidate}
2018-08-19 06:27:09 -05:00
Revalidation steps \- :
2018-06-06 11:42:26 -05:00
\begin { DoxyItemize}
2018-08-19 06:27:09 -05:00
\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} .
2018-06-06 11:42:26 -05:00
\item Pack all \hyperlink { classKite_ 1_ 1Track} { Track} in which removal have took place.
2018-08-19 06:27:09 -05:00
\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.
2018-06-06 11:42:26 -05:00
\item Perform a sort() on all \hyperlink { classKite_ 1_ 1Track} { Track} that have been modifieds.
2018-08-19 06:27:09 -05:00
\item Now that the size of the segments have been accurately computed, look for revalidateds \hyperlink { classKite_ 1_ 1TrackSegment} { Track\- Segment} that\- :
2018-06-06 11:42:26 -05:00
\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}
2018-08-19 06:27:09 -05:00
{ \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.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
{ \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\- :
2018-06-06 11:42:26 -05:00
\begin { DoxyItemize}
2018-08-19 06:27:09 -05:00
\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).
2018-06-06 11:42:26 -05:00
\end { DoxyItemize}
\subsubsection { Member Function Documentation}
2018-08-19 06:27:09 -05:00
\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}
2018-06-06 11:42:26 -05:00
\begin { DoxyParams} { Parameters}
2018-08-19 06:27:09 -05:00
{ \em kite} & A \hyperlink { namespaceKite} { Kite} Tool\- Engine on which to work. \\
2018-06-06 11:42:26 -05:00
\hline
\end { DoxyParams}
\begin { DoxyReturn} { Returns}
A new \hyperlink { namespaceKite} { Kite} update \hyperlink { classKite_ 1_ 1Session} { Session} .
\end { DoxyReturn}
2018-08-19 06:27:09 -05:00
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}
2018-06-06 11:42:26 -05:00
\begin { DoxyParams} { Parameters}
2018-08-19 06:27:09 -05:00
{ \em segment} & An Auto\- Segment to insert in a \hyperlink { classKite_ 1_ 1Track} { Track} . \\
2018-06-06 11:42:26 -05:00
\hline
{ \em track} & The \hyperlink { classKite_ 1_ 1Track} { Track} into which the { \itshape segment} will be inserted.\\
\hline
\end { DoxyParams}
2018-08-19 06:27:09 -05:00
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}
2018-06-06 11:42:26 -05:00
\begin { DoxyParams} { Parameters}
2018-08-19 06:27:09 -05:00
{ \em segment} & A \hyperlink { classKite_ 1_ 1TrackSegment} { Track\- Segment} to remove from a \hyperlink { classKite_ 1_ 1Track} { Track} .\\
2018-06-06 11:42:26 -05:00
\hline
\end { DoxyParams}
Schedule the removal of { \itshape segment} from \hyperlink { classKite_ 1_ 1Track} { Track} { \itshape track} .
2018-08-19 06:27:09 -05:00
Referenced by Segment\- Action\- ::do\- Action(), and Track\- Segment\- ::reschedule().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\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}
2018-06-06 11:42:26 -05:00
\begin { DoxyParams} { Parameters}
2018-08-19 06:27:09 -05:00
{ \em segment} & An Auto\- Segment to move into a new \hyperlink { classKite_ 1_ 1Track} { Track} . \\
2018-06-06 11:42:26 -05:00
\hline
{ \em track} & The \hyperlink { classKite_ 1_ 1Track} { Track} into which the { \itshape segment} will be moved.\\
\hline
\end { DoxyParams}
2018-08-19 06:27:09 -05:00
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}
2018-06-06 11:42:26 -05:00
\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} .
2018-08-19 06:27:09 -05:00
{ \bfseries See also\- :} ~ Track\- ::pack() \& Track\- ::sort().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by Track\- Segment\- ::revalidate().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\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}
2018-06-06 11:42:26 -05:00
Applies all the requested modifications, but keeping the session opened.
2018-08-19 06:27:09 -05:00
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}
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
Session.\- h\item
Session.\- dox\end { DoxyCompactItemize}