Size: a a a

2020 January 30

ΙΤ

Ιωάννης Τσεκούρι in Rude QA
и юзаем джявовый ClientCalls.asyncBidiStreamingCall(channel.newCall(method, CallOptions.DEFAULT), responseObserver))
источник

ΙΤ

Ιωάννης Τσεκούρι in Rude QA
как вот блять его правильно исполнить чтобы насрать туда чанками ?
источник

ΙΤ

Ιωάννης Τσεκούρι in Rude QA
с обычным вызовом просто,

val f = { channel: Channel =>
     request: Req =>
       guavaFuture2ScalaFuture(ClientCalls.futureUnaryCall(channel.newCall(method, CallOptions.DEFAULT), request))
   }
источник

ΙΤ

Ιωάννης Τσεκούρι in Rude QA
туда реквест передал, вызвал f.onCompleted и респонс получил
источник

ΙΤ

Ιωάννης Τσεκούρι in Rude QA
источник

MK

Mem Kekovich in Rude QA
Ты хочешь чанками запрос отправить?
источник

ΙΤ

Ιωάννης Τσεκούρι in Rude QA
Mem Kekovich
Ты хочешь чанками запрос отправить?
да
источник

MK

Mem Kekovich in Rude QA
источник

ΙΤ

Ιωάννης Τσεκούρι in Rude QA
я короче сделал лист чанков
источник

ΙΤ

Ιωάννης Τσεκούρι in Rude QA
requests.map { x =>
   println(x)
   Thread.sleep(500)

   Try(requestObserver.onNext(x)).recover {
     case exception => requestObserver.onError(exception)
   }

 }

 requestObserver.onCompleted()
источник

ΙΤ

Ιωάννης Τσεκούρι in Rude QA
так отправляю
источник

ΙΤ

Ιωάννης Τσεκούρι in Rude QA
но не знаю правильно это или нет
источник

ΙΤ

Ιωάννης Τσεκούρι in Rude QA
конечно же нужно в идеале ещё и респонсы дождаться и собрать
источник

ΙΤ

Ιωάννης Τσεκούρι in Rude QA
источник

MK

Mem Kekovich in Rude QA
Ιωάννης Τσεκούρι
я короче сделал лист чанков
источник

MK

Mem Kekovich in Rude QA
источник

MK

Mem Kekovich in Rude QA
Ιωάννης Τσεκούρι
я короче сделал лист чанков
Судя по всему все верно
Ты поверх грпц делишь файл
И дальше чанки шлешь
Грпц вроде не умеет сам в чанки
источник

ΙΤ

Ιωάννης Τσεκούρι in Rude QA
Mem Kekovich
Судя по всему все верно
Ты поверх грпц делишь файл
И дальше чанки шлешь
Грпц вроде не умеет сам в чанки
while ((tmp = inputstream.read(buffer, 0, bufferSize)) != -1) {
 LOGGER.info("In chunker: {}", tmp);
       ByteString byteString = ByteString.copyFrom(buffer, 0, tmp);
 File m = builder.setBinary(byteString).build();
 Thread.sleep(80); // if not set, on first iteration in client side, all chunks are sent without any control on flow ....
 responseObserver.onNext(m);
}
responseObserver.onCompleted();


судя по этой хуйне вроде так же делаем
источник

ΙΤ

Ιωάννης Τσεκούρι in Rude QA
когда уже телега в красивый код будет уметь
источник

MK

Mem Kekovich in Rude QA
Ιωάννης Τσεκούρι
while ((tmp = inputstream.read(buffer, 0, bufferSize)) != -1) {
 LOGGER.info("In chunker: {}", tmp);
       ByteString byteString = ByteString.copyFrom(buffer, 0, tmp);
 File m = builder.setBinary(byteString).build();
 Thread.sleep(80); // if not set, on first iteration in client side, all chunks are sent without any control on flow ....
 responseObserver.onNext(m);
}
responseObserver.onCompleted();


судя по этой хуйне вроде так же делаем
Ну вот около того да
Хз не слал чанки и файлы через грпц
источник