@@ -107,59 +107,35 @@ type Server struct {
107
107
var _ interop.Server = (* Server )(nil )
108
108
109
109
func (s * Server ) setRapidPhase (phase rapidPhase ) {
110
- s .mutex .Lock ()
111
- defer s .mutex .Unlock ()
112
-
113
110
s .rapidPhase = phase
114
111
}
115
112
116
113
func (s * Server ) getRapidPhase () rapidPhase {
117
- s .mutex .Lock ()
118
- defer s .mutex .Unlock ()
119
-
120
114
return s .rapidPhase
121
115
}
122
116
123
117
func (s * Server ) setRuntimeState (state runtimeState ) {
124
- s .mutex .Lock ()
125
- defer s .mutex .Unlock ()
126
-
127
118
s .runtimeState = state
128
119
}
129
120
130
121
func (s * Server ) getRuntimeState () runtimeState {
131
- s .mutex .Lock ()
132
- defer s .mutex .Unlock ()
133
-
134
122
return s .runtimeState
135
123
}
136
124
137
125
func (s * Server ) SetInvokeTimeout (timeout time.Duration ) {
138
- s .mutex .Lock ()
139
- defer s .mutex .Unlock ()
140
-
141
126
s .invokeTimeout = timeout
142
127
}
143
128
144
129
func (s * Server ) GetInvokeTimeout () time.Duration {
145
- s .mutex .Lock ()
146
- defer s .mutex .Unlock ()
147
-
148
130
return s .invokeTimeout
149
131
}
150
132
151
133
func (s * Server ) GetInvokeContext () * InvokeContext {
152
- s .mutex .Lock ()
153
- defer s .mutex .Unlock ()
154
-
155
134
ctx := * s .invokeCtx
156
135
return & ctx
157
136
}
158
137
159
138
func (s * Server ) setNewInvokeContext (invokeID string , traceID , lambdaSegmentID string ) (* ReserveResponse , error ) {
160
- s .mutex .Lock ()
161
- defer s .mutex .Unlock ()
162
-
163
139
if s .invokeCtx != nil {
164
140
return nil , ErrAlreadyReserved
165
141
}
@@ -226,9 +202,6 @@ func (s *Server) awaitInitCompletion() {
226
202
}
227
203
228
204
func (s * Server ) setReplyStream (w http.ResponseWriter , direct bool ) (string , error ) {
229
- s .mutex .Lock ()
230
- defer s .mutex .Unlock ()
231
-
232
205
if s .invokeCtx == nil {
233
206
return "" , ErrNotReserved
234
207
}
@@ -248,9 +221,6 @@ func (s *Server) setReplyStream(w http.ResponseWriter, direct bool) (string, err
248
221
249
222
// Release closes the invocation, making server ready for reserve again
250
223
func (s * Server ) Release () error {
251
- s .mutex .Lock ()
252
- defer s .mutex .Unlock ()
253
-
254
224
if s .invokeCtx == nil {
255
225
return ErrNotReserved
256
226
}
@@ -267,9 +237,6 @@ func (s *Server) Release() error {
267
237
268
238
// GetCurrentInvokeID
269
239
func (s * Server ) GetCurrentInvokeID () string {
270
- s .mutex .Lock ()
271
- defer s .mutex .Unlock ()
272
-
273
240
if s .invokeCtx == nil {
274
241
return ""
275
242
}
@@ -350,8 +317,6 @@ func (s *Server) sendResponseUnsafe(invokeID string, additionalHeaders map[strin
350
317
351
318
func (s * Server ) SendResponse (invokeID string , resp * interop.StreamableInvokeResponse ) error {
352
319
s .setRuntimeState (runtimeInvokeResponseSent )
353
- s .mutex .Lock ()
354
- defer s .mutex .Unlock ()
355
320
runtimeCalledResponse := true
356
321
return s .sendResponseUnsafe (invokeID , resp .Headers , resp .Payload , resp .Trailers , resp .Request , runtimeCalledResponse )
357
322
}
@@ -372,8 +337,6 @@ func (s *Server) SendInitErrorResponse(resp *interop.ErrorInvokeResponse) error
372
337
func (s * Server ) SendErrorResponse (invokeID string , resp * interop.ErrorInvokeResponse ) error {
373
338
log .Debugf ("Sending Error Response: %s" , resp .FunctionError .Type )
374
339
s .setRuntimeState (runtimeInvokeError )
375
- s .mutex .Lock ()
376
- defer s .mutex .Unlock ()
377
340
additionalHeaders := map [string ]string {
378
341
directinvoke .ContentTypeHeader : resp .Headers .ContentType ,
379
342
directinvoke .ErrorTypeHeader : string (resp .FunctionError .Type ),
@@ -501,14 +464,10 @@ func deadlineNsFromTimeoutMs(timeoutMs int64) int64 {
501
464
}
502
465
503
466
func (s * Server ) setInitFailuresChan () {
504
- s .mutex .Lock ()
505
- defer s .mutex .Unlock ()
506
467
s .initFailures = make (chan interop.InitFailure )
507
468
}
508
469
509
470
func (s * Server ) getInitFailuresChan () chan interop.InitFailure {
510
- s .mutex .Lock ()
511
- defer s .mutex .Unlock ()
512
471
return s .initFailures
513
472
}
514
473
@@ -593,14 +552,10 @@ func (s *Server) FastInvoke(w http.ResponseWriter, i *interop.Invoke, direct boo
593
552
}
594
553
595
554
func (s * Server ) setCachedInitErrorResponse (errResp * interop.ErrorInvokeResponse ) {
596
- s .mutex .Lock ()
597
- defer s .mutex .Unlock ()
598
555
s .cachedInitErrorResponse = errResp
599
556
}
600
557
601
558
func (s * Server ) getCachedInitErrorResponse () * interop.ErrorInvokeResponse {
602
- s .mutex .Lock ()
603
- defer s .mutex .Unlock ()
604
559
return s .cachedInitErrorResponse
605
560
}
606
561
@@ -613,8 +568,6 @@ func (s *Server) trySendDefaultErrorResponse(resp *interop.ErrorInvokeResponse)
613
568
}
614
569
615
570
func (s * Server ) CurrentToken () * interop.Token {
616
- s .mutex .Lock ()
617
- defer s .mutex .Unlock ()
618
571
if s .invokeCtx == nil {
619
572
return nil
620
573
}
@@ -625,6 +578,9 @@ func (s *Server) CurrentToken() *interop.Token {
625
578
// Invoke is used by the Runtime Interface Emulator (Rapid Local)
626
579
// https://github.com/aws/aws-lambda-runtime-interface-emulator
627
580
func (s * Server ) Invoke (responseWriter http.ResponseWriter , invoke * interop.Invoke ) error {
581
+ s .mutex .Lock ()
582
+ defer s .mutex .Unlock ()
583
+
628
584
resetCtx , resetCancel := context .WithCancel (context .Background ())
629
585
defer resetCancel ()
630
586
0 commit comments