openlsd.network.server.LSDServerSession Class Reference

Inheritance diagram for openlsd.network.server.LSDServerSession:

Inheritance graph
[legend]
Collaboration diagram for openlsd.network.server.LSDServerSession:

Collaboration graph
[legend]

List of all members.


Detailed Description

Class for the session stored in server context.

Author:
Frederic Bregier LGPL

Public Member Functions

 LSDServerSession (IoSession session)
 LSDServerSession (IoSession session, byte commande, boolean unique, long legacy, long storage, long doc, byte status, int fileblocksize, int rankblock)
void sessionStop ()
void sessionStopNoClose ()
boolean sessionStart ()
boolean isClosed ()
void clear ()
String toString ()
void sessionFinished ()
boolean isRunning ()
void endNewBlock ()
void waitForAllBlocks ()
void endedAllBlocks ()
void setObject (Object object)
Object getObject ()
Object clearObject ()

Static Public Member Functions

static LSDServerSession assign (LSDServerSession ls, IoSession session, byte commande, boolean unique, long legacy, long storage, long doc)

Public Attributes

IoSession session = null
byte commande = LSDConstants.LSD_NULL
boolean unique = true
long legacy = LSDConstants.invalide_idx
long storage = LSDConstants.invalide_idx
long doc = LSDConstants.invalide_idx
byte status = LSDConstants.LSD_MSG_KOSYSTEM
int fileblocksize = -1
int rankblock = -1
long filesize = -1
Object object = null
boolean running = false
boolean isClosed = true

Protected Member Functions

void sessionTaskClose ()

Protected Attributes

MD5 md5 = null
boolean wasIdle = false
boolean wasException = false

Constructor & Destructor Documentation

openlsd.network.server.LSDServerSession.LSDServerSession ( IoSession  session  ) 

Create a LSDServerSession as empty session from a session

Parameters:
session 

openlsd.network.server.LSDServerSession.LSDServerSession ( IoSession  session,
byte  commande,
boolean  unique,
long  legacy,
long  storage,
long  doc,
byte  status,
int  fileblocksize,
int  rankblock 
)

Create a LSDServerSession from args but not make it running

Parameters:
session the IoSession associated
commande the commande
unique set if this commande close the session at the end or not
legacy the lid
storage the sid
doc the did
status the current status
fileblocksize the fileblock size
rankblock the rank of the current block


Member Function Documentation

void openlsd.network.server.LSDServerSession.sessionStop (  ) 

Stop the session.

Reimplemented from openlsd.network.common.message.LSDMinimalSession.

void openlsd.network.server.LSDServerSession.sessionStopNoClose (  ) 

Stop the session but not close the connection (client will do first).

void openlsd.network.server.LSDServerSession.sessionTaskClose (  )  [protected]

Task for ending one true session

boolean openlsd.network.server.LSDServerSession.sessionStart (  ) 

Start the session

Returns:
True if O

Reimplemented from openlsd.network.common.message.LSDMinimalSession.

boolean openlsd.network.server.LSDServerSession.isClosed (  ) 

Returns True if the session is closed

Returns:
if the session is closed

Reimplemented from openlsd.network.common.message.LSDMinimalSession.

static LSDServerSession openlsd.network.server.LSDServerSession.assign ( LSDServerSession  ls,
IoSession  session,
byte  commande,
boolean  unique,
long  legacy,
long  storage,
long  doc 
) [static]

Set a new session from previous alloacted object from params if object already exists, else same as new LSDServerSession(...) except that it starts the session (sessionStart) if it is possible, if not it stops the session (sessionStop).

Parameters:
ls 
session 
commande 
unique 
legacy 
storage 
doc 
Returns:
the same object reinitialized or a new one if ls was null or null if the session is closed.

void openlsd.network.server.LSDServerSession.clear (  ) 

Clear the session and make it not running but do not eraze session information neither close the session. This function make ready the object for a new action.

Reimplemented from openlsd.network.common.message.LSDMinimalSession.

String openlsd.network.server.LSDServerSession.toString (  ) 

See also:
java.lang.Object.toString()

Reimplemented from openlsd.network.common.message.LSDMinimalSession.

void openlsd.network.common.message.LSDMinimalSession.sessionFinished (  )  [inherited]

Stop the current session without closing the connection

boolean openlsd.network.common.message.LSDMinimalSession.isRunning (  )  [inherited]

Returns the status of the current session

Returns:
if the session is still running

void openlsd.network.common.message.LSDMinimalSession.endNewBlock (  )  [inherited]

End the current block, and allow the next block to continue

void openlsd.network.common.message.LSDMinimalSession.waitForAllBlocks (  )  [inherited]

Wait that all blocks are done, so the message is completely received or sent

void openlsd.network.common.message.LSDMinimalSession.endedAllBlocks (  )  [inherited]

Release the lock, all blocks are considering received or sent.

void openlsd.network.common.message.LSDMinimalSession.setObject ( Object  object  )  [inherited]

Replace the object or New object for the session

Parameters:
object 

Object openlsd.network.common.message.LSDMinimalSession.getObject (  )  [inherited]

Get the object from the session

Returns:
the object

Object openlsd.network.common.message.LSDMinimalSession.clearObject (  )  [inherited]

clear the object from the session and return the object before clear.

Returns:
the object


Member Data Documentation

The md5 associated with the server session

Was this session Idle ?

Was this session in exception ?

IoSession attached with this session object

The corresponding command

Is this command in a "uniq" mode, that is to say when the command is over, so as the socket session. If false, the socket session is not closed.

The Legacy

The Storage

The Document

The Status of the command

The block size for the file

The block rank for the file

The global file size

Data part of the session: object

For ending and ordering of received: is this session running (first to change when finishing). Allows to do some stuff between the beginning of closing and the end (was for the Mina bug that allowed two thread for the same socket to run on two different message at the same time).

For ending and ordering of received: is this session closed (last to change when finishing)


The documentation for this class was generated from the following file: