These are chat archives for akkadotnet/akka.net

15th
Jun 2017
Gregorius Soedharmo
@Arkatufus
Jun 15 2017 04:24
@Silv3rcircl3 should I keep everything as immutable?
Gregorius Soedharmo
@Arkatufus
Jun 15 2017 04:34
or is there a API design guideline that I need to adhere to
Arjen Smits
@Danthar
Jun 15 2017 06:41
@jasubabujasu Thats tricky. How much work that is, depends on how much persistent actors you have (how much data). And if you want to keep the persistence id's intact. or if they are allowed to change.
if they are allowed to change, use persistence query to read from your hyperion serialized persistence actor
and write the events through an new persistence actor that uses json.
if they are not allowed to change. First save all events to disk. So that you got all data in an easy to read format somewhere
then clear your persistence store
then read all that data back in from your disk based store :P
thats the first thing that comes to mind
Bartosz Sypytkowski
@Horusiath
Jun 15 2017 07:01
@jasubabujasu you probably need to go through all of the stored events, deserialize them using old deserializer, and then serialize them again using new one, and update. It's hard, but not impossible.
Bartosz Sypytkowski
@Horusiath
Jun 15 2017 07:08
The hard part is probably switching the serializer (hyperion->json) within deserialization/serialization cycle. I guess the simplest way to resolve this would be to deserialize stored event, then map it to event of different type but with the same data model, that has serialization binding set to json.
Marc Piechura
@marcpiechura
Jun 15 2017 15:17
@Arkatufus it depends ;-) if it's internal you don't need to make it immutable, but if you make it available for the outside probably it's better to make it immutable to prevent race conditions
Gregorius Soedharmo
@Arkatufus
Jun 15 2017 15:19
ok
Gregorius Soedharmo
@Arkatufus
Jun 15 2017 16:28
hmmm... should I rename CsvToMap to CsvToDictionary?
Lealand Vettleson
@spankr
Jun 15 2017 16:29
that would be the .NET thing to do. Although its probably easier to compare with the scala/java code if it stays as "Map"
Gregorius Soedharmo
@Arkatufus
Jun 15 2017 16:30
that's exactly why i'm asking...
Aaron Stannard
@Aaronontheweb
Jun 15 2017 16:31
@Arkatufus change it to Dictionary
people who know what's up will figure it out
Gregorius Soedharmo
@Arkatufus
Jun 15 2017 16:31
right-o, i'll do that then
Lealand Vettleson
@spankr
Jun 15 2017 16:31
:+1:
Aaron Stannard
@Aaronontheweb
Jun 15 2017 16:33
people who don't (the users) will appreciate it
in general, better to err on the side of the end-users rather than the maintainers
Gregorius Soedharmo
@Arkatufus
Jun 15 2017 16:33
agreed
i was just wondering how strict we'll adhere to the java/scala API
Aaron Stannard
@Aaronontheweb
Jun 15 2017 16:34
as close as we can while still being idomatic to C# and F#
it's a judgement call
Gregorius Soedharmo
@Arkatufus
Jun 15 2017 16:35
:+1:
Aaron Stannard
@Aaronontheweb
Jun 15 2017 16:35
but most of the time, naming differences and stuff like that aren't a big deal usually
as long as the APIs support the same capabilities and behave similarly then that's usually perfect
Gregorius Soedharmo
@Arkatufus
Jun 15 2017 17:41
right, csv port is done
Benjamin Stanley
@HeadClot
Jun 15 2017 21:27
Hey everyone - I am new here. Does akka support UDP?
I am looking at using akka dot net for a project using Godot engine 3 when it comes out in a few weeks.
Bartosz Sypytkowski
@Horusiath
Jun 15 2017 21:44
@HeadClot akka.io will have major rewrite making socket-based actors worth trying. However regarding support of UDP - it's present but this protocol is far less used than TCP, so probably it'll be also less tested.
Benjamin Stanley
@HeadClot
Jun 15 2017 21:48
Alright good to know