Skip to content

Commit

Permalink
Use SessionTemps instead of TransientStackValue
Browse files Browse the repository at this point in the history
  • Loading branch information
ramauers committed Jul 18, 2024
1 parent 5c46bab commit 0a6aa72
Show file tree
Hide file tree
Showing 7 changed files with 58 additions and 49 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
accessing
connections
connections
ifNil: [
self _setNoStubbing. "as long as I am in memory prevent stubbing of my instance variables ... I will stay in memory as long as I am referenced from stack.."
connections := TransientStackValue value: OrderedCollection new "if I am committed, then do not persist collection" ].
^ connections value

"if I am committed, then do not persist collection"
^SessionTemps current
at: #ZnGemServerManagingMultiThreadedServer_connections
ifAbsentPut:[ OrderedCollection new ]
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
private
initializeServerSocket
"Set up a new server socket and listen on it"
"Set up a new server socket and listen on it"

self log debug: 'Initializing server socket'.
self _setNoStubbing. "as long as I am in memory prevent stubbing of my instance variables ... I will stay in memory as long as I am referenced from stack.."
serverSocket := TransientStackValue
value:
(self bindingAddress
ifNil: [ ZnNetworkingUtils serverSocketOn: self port ]
ifNotNil: [ ZnNetworkingUtils serverSocketOn: self port interface: self bindingAddress ]). "if I am committed, then do not persist server socket instance"
self log debug: 'Initialized server socket'
self log debug: 'Initializing server socket'.

"if I am committed, then do not persist server socket instance"
SessionTemps current
at: #ZnGemServerManagingMultiThreadedServer_serverSocket
put: ( self bindingAddress
ifNil: [ ZnNetworkingUtils serverSocketOn: self port ]
ifNotNil: [ ZnNetworkingUtils serverSocketOn: self port interface: self bindingAddress ]).

self log debug: 'Initialized server socket'
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
private
releaseServerSocket
"Release our server socket"
"Release our server socket"

serverSocket value ifNil: [ ^ self ].
self log debug: 'Releasing server socket'.
serverSocket value destroy.
serverSocket := nil
(SessionTemps current
at: #ZnGemServerManagingMultiThreadedServer_serverSocket
ifAbsent:[]
) ifNil:[ ^self ].

self log debug: 'Releasing server socket'.
(SessionTemps current at: #ZnGemServerManagingMultiThreadedServer_serverSocket) destroy.
SessionTemps current
at: #ZnGemServerManagingMultiThreadedServer_serverSocket
put: nil
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@ serverSocket
"Return the server socket that I am using.
Will be nil when I am not running"

^ serverSocket value
^ SessionTemps current
at: #ZnGemServerManagingMultiThreadedServer_serverSocket
ifAbsent:[]
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
{
"class" : {
"defaultServerClass" : "dkh 01/07/2015 17:01" },
"defaultServerClass" : "RalphMauersberger 07/18/2024 16:14" },
"instance" : {
"authenticateAndDelegateRequest:" : "dkh 01/07/2015 19:25",
"closeConnections" : "dkh 01/07/2015 16:40",
"closeSocketStream:" : "dkh 01/07/2015 16:40",
"connections" : "dkh 04/03/2015 11:14",
"executeOneRequestResponseOn:" : "AndreasBrodbeck 09/15/2021 15:04",
"executeRequestResponseLoopOn:" : "dkh 01/07/2015 18:25",
"gemServer" : "dkh 01/07/2015 16:41",
"gemServer:" : "dkh 01/07/2015 16:42",
"handleRequestProtected:" : "dkh 01/07/2015 18:51",
"initializeServerSocket" : "dkh 04/03/2015 11:14",
"listenLoop" : "dkh 01/07/2015 17:54",
"lock" : "dkh 01/07/2015 16:40",
"readRequest:" : "dkh 01/07/2015 16:40",
"readRequestSafely:" : "dkh 01/07/2015 18:24",
"releaseServerSocket" : "dkh 01/07/2015 16:40",
"serve:ensure:" : "dkh 01/07/2015 18:48",
"serve:on:do:" : "dkh 01/07/2015 18:48",
"serve:onError:" : "dkh 01/07/2015 18:49",
"serveConnectionsOn:" : "dkh 01/07/2015 18:01",
"serverSocket" : "dkh 01/07/2015 16:40",
"socketStreamOn:" : "dkh 01/07/2015 16:40",
"start" : "dkh 01/07/2015 17:46",
"stop:" : "dkh 01/07/2015 17:49",
"writeResponse:on:" : "PaulDeBruicker 06/28/2022 14:26",
"writeResponseBad:on:" : "dkh 01/08/2015 17:03",
"writeResponseSafely:on:" : "dkh 01/07/2015 18:29" } }
"authenticateAndDelegateRequest:" : "RalphMauersberger 07/18/2024 16:14",
"closeConnections" : "RalphMauersberger 07/18/2024 16:14",
"closeSocketStream:" : "RalphMauersberger 07/18/2024 16:14",
"connections" : "RalphMauersberger 07/18/2024 16:31",
"executeOneRequestResponseOn:" : "RalphMauersberger 07/18/2024 16:14",
"executeRequestResponseLoopOn:" : "RalphMauersberger 07/18/2024 16:14",
"gemServer" : "RalphMauersberger 07/18/2024 16:14",
"gemServer:" : "RalphMauersberger 07/18/2024 16:14",
"handleRequestProtected:" : "RalphMauersberger 07/18/2024 16:14",
"initializeServerSocket" : "RalphMauersberger 07/18/2024 16:33",
"listenLoop" : "RalphMauersberger 07/18/2024 16:14",
"lock" : "RalphMauersberger 07/18/2024 16:14",
"readRequest:" : "RalphMauersberger 07/18/2024 16:14",
"readRequestSafely:" : "RalphMauersberger 07/18/2024 16:14",
"releaseServerSocket" : "RalphMauersberger 07/18/2024 16:28",
"serve:ensure:" : "RalphMauersberger 07/18/2024 16:14",
"serve:on:do:" : "RalphMauersberger 07/18/2024 16:14",
"serve:onError:" : "RalphMauersberger 07/18/2024 16:14",
"serveConnectionsOn:" : "RalphMauersberger 07/18/2024 16:14",
"serverSocket" : "RalphMauersberger 07/18/2024 16:29",
"socketStreamOn:" : "RalphMauersberger 07/18/2024 16:14",
"start" : "RalphMauersberger 07/18/2024 16:14",
"stop:" : "RalphMauersberger 07/18/2024 16:14",
"writeResponse:on:" : "RalphMauersberger 07/18/2024 16:14",
"writeResponseBad:on:" : "RalphMauersberger 07/18/2024 16:14",
"writeResponseSafely:on:" : "RalphMauersberger 07/18/2024 16:14" } }
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
"commentStamp" : "dkh 01/07/2015 16:40",
"instvars" : [
"lock",
"connections",
"gemServer" ],
"name" : "ZnGemServerManagingMultiThreadedServer",
"pools" : [
Expand Down

Large diffs are not rendered by default.

0 comments on commit 0a6aa72

Please sign in to comment.