Updated Writing a Macro (markdown)
This commit is contained in:
parent
f4429c29c9
commit
ec46882282
|
@ -1,6 +1,6 @@
|
|||
Macros are complex and powerful, allowing you to build the AST imperatively. So how does one build AST? It's not as hard as it sounds.
|
||||
|
||||
I'm going to go over the process I used to write the marshaling macro used in keineSchweine (github/fowlmouth/keineSchweine/lib/genpacket.nim)
|
||||
I'm going to go over the process I used to write the marshaling macro used in keineSchweine (github/fowlmouth/keineSchweine/dependencies/genpacket)
|
||||
|
||||
Okay, so I have described a packet as a object type holding the information needed, for example a packet that gets sent out to clients when a new client connects might look like this:
|
||||
```nimrod
|
||||
|
@ -19,5 +19,7 @@ proc readClientJoined (stream: PStream): TClientJoined =
|
|||
readBE stream, result.playerID
|
||||
readBE stream, result.alias
|
||||
```
|
||||
As you can see, this will result in a specialized function for reading/writing a certain type of packet
|
||||
|
||||
to be continued
|
||||
|
||||
|
|
Loading…
Reference in New Issue