Hi,

I just discovered Nim and already doing little toy projects with it to get used 
to it. Love it.

I am playing with networking. But reading from raw sockets, I need to cast the 
string to a tuple which represent the headers fields. That would enable me to 
select any field of the ethernet/ip/udp frame more easily.

I have: 
    
    
    type
        Raw_Frame = tuple
            mac_dest: array[6,char]
            mac_src: array[6,char]
    
    var t : ref Raw_Frame
    var data_coming_from_socket : string = "123456789123" #Imagine that the 
string comes from recv
    
    t = cast[ref Raw_Frame](addr c)
    
    echo("hi ", t.mac_dest,t.mac_src)
    
    
    Run

nim

I want t.mac_dest = ['1','2','3','4','5','6'] and t.mac_src = 
['7','8','9','1','2','3'] as an array of char Then, different types will follow 
but I wanted my question to remain concise.

Ultimately, I would cast the string to a tuple (I don't want objects, too much 
overhead) In C, you just cast your array of uint8 to a structure pointer and 
call it a day. Sure Nim does that too.

I understood that string is actually a pointer but not too sure. If you have a 
better idea as to how to do it the Nim way, please help!

Thanks,

Reply via email to