Skip to content

Commit

Permalink
remove closed event
Browse files Browse the repository at this point in the history
  • Loading branch information
cheng-zhongliang committed Oct 5, 2023
1 parent 79dd4c8 commit a21796b
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 14 deletions.
17 changes: 8 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ $ go get -u github.com/cheng-zhongliang/event

- `EvRead` fires when the fd is readable.
- `EvWrite` fires when the fd is writable.
- `EvClosed` fires when the connection has closed.
- `EvTimeout` fires when the timeout expires.
- `EvPersist` __if not set, the event will be deleted after it is triggered.__

Expand All @@ -56,8 +55,8 @@ These events can be used in combination.

```go
base := event.NewBase()
ev := event.New(fd, event.EvRead|event.Timeout|event.EvPersist, callback, arg)
ev.Attach(base, time.Second)
ev := event.New(base, fd, event.EvRead|event.Timeout|event.EvPersist, callback, arg)
ev.Attach(time.Second)
```

When the fd is readable or timeout expires, this event will be triggered.
Expand All @@ -68,8 +67,8 @@ The timer is a one-shot event that will be triggered after the timeout expires.

```go
base := event.NewBase()
ev := event.NewTimer(callback, arg)
ev.Attach(base, time.Second)
ev := event.NewTimer(base, callback, arg)
ev.Attach(time.Second)
```

### Ticker
Expand All @@ -78,16 +77,16 @@ The ticker is a repeating event that will be triggered every time the timeout ex

```go
base := event.NewBase()
ev := event.NewTicker(callback, arg)
ev.Attach(base, time.Second)
ev := event.NewTicker(base, callback, arg)
ev.Attach(time.Second)
```

### Priority

When events are triggered together, high priority events will be dispatched first.

```go
ev := event.New(fd, event.EvRead|event.EvET, callback, arg)
ev := event.New(base, fd, event.EvRead|event.EvET, callback, arg)
ev.SetPriority(event.HPri)
```

Expand All @@ -96,7 +95,7 @@ ev.SetPriority(event.HPri)
The event is level-triggered by default. If you want to use edge-triggered, you can set the `EvET` flag.

```go
ev := event.New(fd, event.EvRead|event.EvET, callback, arg)
ev := event.New(base, fd, event.EvRead|event.EvET, callback, arg)
```

### Usage
Expand Down
10 changes: 5 additions & 5 deletions examples/echo_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ func main() {
}

fd := socket()
ev := event.New(fd, event.EvRead|event.EvPersist, accept, base)
if err := ev.Attach(base, 0); err != nil {
ev := event.New(base, fd, event.EvRead|event.EvPersist, accept, base)
if err := ev.Attach(0); err != nil {
panic(err)
}

Expand All @@ -27,7 +27,7 @@ func main() {

func socket() int {
addr := syscall.SockaddrInet4{Port: 1246, Addr: [4]byte{0, 0, 0, 0}}
fd, err := syscall.Socket(syscall.AF_INET, syscall.SOCK_STREAM|syscall.SOCK_NONBLOCK, syscall.IPPROTO_TCP)
fd, err := syscall.Socket(syscall.AF_INET, syscall.SOCK_STREAM, syscall.IPPROTO_TCP)
if err != nil {
panic(err)
}
Expand All @@ -49,8 +49,8 @@ func accept(fd int, events uint32, arg interface{}) {
panic(err)
}

ev := event.New(clientFd, event.EvRead|event.EvPersist, echo, nil)
if err := ev.Attach(base, 0); err != nil {
ev := event.New(base, clientFd, event.EvRead|event.EvPersist, echo, nil)
if err := ev.Attach(0); err != nil {
panic(err)
}
}
Expand Down

0 comments on commit a21796b

Please sign in to comment.