| 76 | } |
| 77 | |
| 78 | func NewServerIPC(logger logging.Logger, sockConn io.ReadWriteCloser, handler http.Handler, onServerClosed func(error), option ...Option) (io.Closer, *http.Client, error) { |
| 79 | cfg := yamux.DefaultConfig() |
| 80 | cfg.Logger = &loggerWrapper{logger} |
| 81 | cfg.LogOutput = nil |
| 82 | session, err := yamux.Server(sockConn, cfg) |
| 83 | if err != nil { |
| 84 | return nil, nil, fmt.Errorf("creating yamux server: %w", err) |
| 85 | } |
| 86 | i, c := newMuxedIPC(logger, session, handler, onServerClosed, option...) |
| 87 | return i, c, nil |
| 88 | } |
| 89 | |
| 90 | type ipcServer struct { |
| 91 | done chan struct{} |