session has only send and recv as public methods