Dumitru Preguza
08/11/2025, 10:59 AMInterface ChatService {
sendMessage(Message): Unit
receivedMessages(): Flow<Message> //infinite pulling of messages?
}
Dumitru Preguza
08/11/2025, 11:02 AMAlexander Sysoev
08/11/2025, 12:16 PMJavier
08/11/2025, 12:53 PMDumitru Preguza
08/11/2025, 1:49 PMDumitru Preguza
08/11/2025, 1:51 PMJavier
08/11/2025, 1:53 PMDumitru Preguza
08/11/2025, 2:05 PMDumitru Preguza
08/11/2025, 2:12 PMAlexander Sysoev
08/11/2025, 4:19 PMarising questions like: is a flow enough or there should be a while loop on the client etcFlow by definition is a streaming
Alexander Sysoev
08/11/2025, 4:20 PMgRPC operates over HTTP/2 while kRPC is over websockets, it already should have a bit different implementation for streaming purposesThey both use flows
Alexander Sysoev
08/11/2025, 4:21 PMthe transport layer is different etc.And the idea of an abstract transport is that it doesn't matter what is under the hood - streaming is a streaming
Dumitru Preguza
08/11/2025, 4:56 PMAlexander Sysoev
08/11/2025, 6:04 PMDumitru Preguza
08/12/2025, 6:24 PMAlexander Sysoev
08/12/2025, 7:30 PMDumitru Preguza
08/12/2025, 7:43 PMAlexander Sysoev
08/13/2025, 7:32 AMDumitru Preguza
08/13/2025, 9:23 AMJavier
08/13/2025, 10:07 AMJavier
08/13/2025, 10:08 AMDumitru Preguza
08/13/2025, 11:55 AMJavier
08/13/2025, 1:48 PMAlexander Sysoev
08/13/2025, 2:07 PM@Grpc
annotation. So they we feel very simmilar to how kRPC looks now.Alexander Sysoev
08/13/2025, 2:08 PMJavier
08/13/2025, 2:08 PMAlexander Sysoev
08/13/2025, 2:10 PMJavier
08/13/2025, 2:10 PMJavier
08/13/2025, 2:11 PMJavier
08/13/2025, 2:12 PMAlexander Sysoev
08/13/2025, 2:18 PMThe proto one generates the services in FIR?Not for now. Currently it is a protoc plugin (so regular grpc in java dx) We are thinking of FIR based approach, but a couple of things need to change in IDE and in compiler before that
Or it is an independent Gradle task or whatever that generates the files in the build directory?yes
If it is the second, it should be interesting copying the dataframe approach so passing the schema to a Kotlin object or whatever and get the public API generated in FIRNot sure if this can work, though, tbh I have no idea how this dataframe magic works š But I'm talking to people with experience in plugins, to get a better understanding
Alexander Sysoev
08/13/2025, 2:19 PMJavier
08/13/2025, 2:24 PM@Schema(āsome/pathā)
class Foo
Then on FIR, it generates all needed, IR does the rest.Alexander Sysoev
08/13/2025, 2:27 PMcurrently FIR is limited to read Kotlin codeActually no, it can modify too, though with restrictions
the dataframe hack is annotating something in Kotlin and passing a file path with the CSV as paran to that annotationOhhh, hm, interesting, I'm wondering how they handle incremental compilation there
Javier
08/13/2025, 2:28 PMAlexander Sysoev
08/13/2025, 2:28 PMJavier
08/13/2025, 2:30 PMAlexander Sysoev
08/13/2025, 2:30 PMDumitru Preguza
08/13/2025, 2:43 PMDumitru Preguza
08/13/2025, 2:51 PMAlexander Sysoev
08/13/2025, 3:12 PMno protobuff, no schemas, no code gen, you own your contracts, you own your code, I like simple thingsStill possible with gRPC š But I'm getting ahead of myself, I'll showcase it when it's out