| 227 | } |
| 228 | |
| 229 | func (e *embedBackend) Forward(ctx context.Context, opts ...grpc.CallOption) (ForwardClient, error) { |
| 230 | reqs := make(chan *pb.ForwardRequest, 8) |
| 231 | resps := make(chan *pb.ForwardReply, 8) |
| 232 | srvDone := make(chan error, 1) |
| 233 | |
| 234 | server := &embedBackendForwardStream{ctx: ctx, reqs: reqs, resps: resps} |
| 235 | |
| 236 | go func() { |
| 237 | err := e.s.Forward(server) |
| 238 | close(resps) |
| 239 | srvDone <- err |
| 240 | }() |
| 241 | |
| 242 | return &embedBackendForwardStreamClient{ |
| 243 | ctx: ctx, |
| 244 | reqs: reqs, |
| 245 | resps: resps, |
| 246 | srvDone: srvDone, |
| 247 | }, nil |
| 248 | } |
| 249 | |
| 250 | func (e *embedBackend) AudioToAudioStream(ctx context.Context, opts ...grpc.CallOption) (AudioToAudioStreamClient, error) { |
| 251 | reqs := make(chan *pb.AudioToAudioRequest, 8) |