カスタムコマンド実装 - コールバックを必ず呼ぶ

カスタムコマンドを実装する上で必ず守必要があるルールは、ハンドラに渡されるコールバックを必ず呼ぶことです。

Diarkis のコマンドには複数のハンドラをアサインすることが可能です。コマンドハンドラにはコールバックが渡され、それぞれのハンドラの処理が終わるたびにコールバックを呼ぶことでアサインされたハンドラの順番通りに処理を実行することが可能です。

ここで注意する必要がある部分が、コールバックを呼び忘れた場合です。その場合意図せずにクライアントとの接続を失ってしまったりする不具合に繋がる可能性があるため、エラーの場合も含めて、コールバックは必ず呼ぶ必要があります。

server.HandleCommand(func(ver uint8, cmd uint16, payload []byte, user *user.User, next func(error))) {
// your awseome handling code goes here
// make sure to call next to move on
next(nil)
}