Skip to content

Commit

Permalink
max_retry が未指定の場合は 0 回で固定する
Browse files Browse the repository at this point in the history
  • Loading branch information
Hexa committed Mar 4, 2024
1 parent 0206510 commit f99b71f
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 15 deletions.
2 changes: 1 addition & 1 deletion amazon_transcribe_handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ func (h *AmazonTranscribeHandler) Handle(ctx context.Context, reader io.Reader)
Send()

// リトライしない設定の場合はクライアントにエラーを返し、再度接続するかはクライアント側で判断する
if *at.Config.MaxRetry < 1 {
if at.Config.MaxRetry < 1 {
if err := encoder.Encode(NewSuzuErrorResponse(err)); err != nil {
zlog.Error().
Err(err).
Expand Down
14 changes: 3 additions & 11 deletions config.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,6 @@ const (

// 100ms
DefaultTimeToWaitForOpusPacketMs = 100

// リトライ無し
DefaultMaxRetry = 0
)

type Config struct {
Expand All @@ -49,7 +46,7 @@ type Config struct {
HTTP2MaxReadFrameSize uint32 `ini:"http2_max_read_frame_size"`
HTTP2IdleTimeout uint32 `ini:"http2_idle_timeout"`

MaxRetry *int `ini:"max_retry"`
MaxRetry int `ini:"max_retry"`

ExporterHTTPS bool `ini:"exporter_https"`
ExporterListenAddr string `ini:"exporter_listen_addr"`
Expand Down Expand Up @@ -162,13 +159,8 @@ func setDefaultsConfig(config *Config) {
if config.TimeToWaitForOpusPacketMs == 0 {
config.TimeToWaitForOpusPacketMs = DefaultTimeToWaitForOpusPacketMs
}

// 未指定の場合のリトライ回数は 0
if config.MaxRetry == nil {
maxRetry := DefaultMaxRetry
config.MaxRetry = &maxRetry
}
}

func validateConfig(config *Config) error {
var err error
// アドレスとして正しいことを確認する
Expand Down Expand Up @@ -216,5 +208,5 @@ func ShowConfig(config *Config) {
zlog.Info().Str("exporter_listen_addr", config.ExporterListenAddr).Msg("CONF")
zlog.Info().Int("exporter_listen_port", config.ExporterListenPort).Msg("CONF")

zlog.Info().Int("max_retry", *config.MaxRetry).Msg("CONF")
zlog.Info().Int("max_retry", config.MaxRetry).Msg("CONF")
}
4 changes: 2 additions & 2 deletions handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ func (s *Server) createSpeechHandler(serviceType string, onResultFunc func(conte
Send()
if err, ok := err.(*SuzuError); ok {
if err.IsRetry() {
if *s.config.MaxRetry > retryCount {
if s.config.MaxRetry > retryCount {
retryCount += 1

zlog.Debug().
Expand Down Expand Up @@ -184,7 +184,7 @@ func (s *Server) createSpeechHandler(serviceType string, onResultFunc func(conte
Send()
return err
} else if errors.Is(err, ErrServerDisconnected) {
if *s.config.MaxRetry > retryCount {
if s.config.MaxRetry > retryCount {
// サーバから切断されたが再度接続できる可能性があるため、接続を試みる
retryCount += 1

Expand Down
2 changes: 1 addition & 1 deletion speech_to_text_handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ func (h *SpeechToTextHandler) Handle(ctx context.Context, reader io.Reader) (*io
Send()

// リトライしない設定の場合はクライアントにエラーを返し、再度接続するかはクライアント側で判断する
if *stt.Config.MaxRetry < 1 {
if stt.Config.MaxRetry < 1 {
if err := encoder.Encode(NewSuzuErrorResponse(err)); err != nil {
zlog.Error().
Err(err).
Expand Down

0 comments on commit f99b71f

Please sign in to comment.