클래스: Mongo::Session::ServerSession 비공개

상속:
객체
  • 객체
모두 표시
다음에 정의됨:
build/ruby-driver-v2.19/lib/mongo/session/server_session.rb

개요

이 클래스는 비공개 API의 일부입니다. 이 클래스는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

서버 측 세션을 나타내는 객체 입니다.

이후:

  • 2.5.0

상수 요약 접기

DASH_REGEX =

이 상수는 비공개 API의 일부입니다. 이 상수는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

UUID string 에서 대시를 제거하기 위한 정규식.

이후:

  • 2.5.0

/\-/.동결
UUID_PACK =

이 상수는 비공개 API의 일부입니다. 이 상수는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

UUID에 대한 팩 지시문입니다.

이후:

  • 2.5.0

'H*'.동결

인스턴스 속성 요약 접기

인스턴스 메서드 요약 접기

생성자 세부 정보

#initializeServerSession

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

ServerSession을 초기화합니다.

예시:

ServerSession.new

이후:

  • 2.5.0



69
70
71
72
73
# 파일 'build/ruby-driver-v2.19/lib/mongo/session/server_session.rb', 줄 69

def 초기화
  set_last_use!
  session_id
  @txn_num = 0
end

인스턴스 속성 세부 정보

#last_use객체 (읽기 전용)

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

서버 세션이 마지막으로 사용된 시간입니다.

이후:

  • 2.5.0



42
43
44
# 파일 'build/ruby-driver-v2.19/lib/mongo/session/server_session.rb', 줄 42

def last_use
  @last_use
end

#txn_num객체 (읽기 전용)

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

현재 트랜잭션 번호입니다.

트랜잭션 이 활성화되면 해당 트랜잭션 의 모든 작업은 동일한 트랜잭션 번호를 사용합니다. 전체 트랜잭션 이 다시 시작되는 경우( 예시: Session#with_transaction에 의해, 이 경우 제공된 차단 도 다시 호출됨), 각 트랜잭션 시도에는 고유한 트랜잭션 번호가 있습니다.

트랜잭션 번호는 재시도 가능 쓰기를 위해 트랜잭션 외부에서도 사용됩니다. 이 경우 각 쓰기 작업에는 고유한 트랜잭션 번호가 있지만 쓰기 작업을 재시도할 때는 첫 번째 쓰기와 동일한 트랜잭션 번호를 사용합니다(이를 통해 서버는 후속 쓰기가 재시도임을 인식하며 첫 번째 쓰기가 성공한 경우 무시되어야 함을 인식합니다. 서버이지만 클라이언트가 읽지 않은 경우).

이후:

  • 2.5.0



61
62
63
# 파일 'build/ruby-driver-v2.19/lib/mongo/session/server_session.rb', 줄 61

def txn_num
  @txn_num
end

인스턴스 메서드 세부 정보

#검사string

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

검사에 사용할 형식이 지정된 string 을 가져옵니다.

예시:

세션 객체를 검사합니다.

session.inspect

반환합니다:

  • (string)

    세션 검사.

이후:

  • 2.5.0



117
118
119
# 파일 'build/ruby-driver-v2.19/lib/mongo/session/server_session.rb', 줄 117

def 검사
  "#<Mongo::Session::ServerSession:0x#{object_id} session_id=#{session_id} last_use=#{@last_use}>"
end

#Next_txn_num정수

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

현재 트랜잭션 번호를 증가시키고 새 값을 반환합니다.

반환합니다:

  • (정수)

    업데이트된 트랜잭션 번호입니다.

이후:

  • 2.5.0



105
106
107
# 파일 'build/ruby-driver-v2.19/lib/mongo/session/server_session.rb', 줄 105

def Next_txn_num
  @txn_num += 1
end

#session_idBSON::Document

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

이 서버 세션의 세션 ID입니다.

예시:

세션 ID를 가져옵니다.

server_session.session_id

반환합니다:

  • (BSON::Document)

    세션 ID입니다.

이후:

  • 2.5.0



95
96
97
98
# 파일 'build/ruby-driver-v2.19/lib/mongo/session/server_session.rb', 줄 95

def session_id
  @session_id ||= (바이트 = [SecureRandom.uuid.gsub(DASH_REGEX, '')].(UUID_PACK)
                    BSON::문서.신규(ID: BSON::바이너리.신규(바이트, :uuid)))
end

#set_last_use!시간

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

서버 세션의 last_use 속성을 now로 업데이트합니다.

예시:

마지막 사용 필드 를 지금으로 설정합니다.

server_session.set_last_use!

반환합니다:

  • (시간)

    세션이 마지막으로 사용된 시간입니다.

이후:

  • 2.5.0



83
84
85
# 파일 'build/ruby-driver-v2.19/lib/mongo/session/server_session.rb', 줄 83

def set_last_use!
  @last_use = 시간.지금
end